[英]Concatenating string containing HTML doesn't work properly
基本上,這里是一段工作代碼(jquery / javascript):
$('<label>Option ' + (i + 1) + '<span class="small">Enter text</span></label><input type="text" name="option[]"><input class="extra" type="checkbox" name="checks[]" value=' + i + '>').appendTo('#container');
i
工作涉及上述代碼。 我想要在這里包含i
的值:
name="checks['+i+']"
但它似乎不喜歡誇大這一點。 我對此混淆不清,因此如果有人可以向我解釋,請多謝。
沒有看到問題。 為了更易於閱讀/調試,請嘗試
var html = '<label>Option ' + (i + 1) + '<span class="small">Enter text</span></label>'+
'<input type="text" name="option['+i+']">'+
'<input class="extra" type="checkbox" name="checks['+i+']" value="'+i+'">'
$(html).appendTo('#container');
效果很好, 這是一個演示 。
檢查checkbox
顯示以下輸出:
<input class="extra" type="checkbox" name="checks[0]" value="0">
嘗試將行復制並粘貼到jsfiddle中,看看是否可行...
我已經在jsfiddle中嘗試了上面的代碼,但是dint遇到了任何問題
for(i = 0 ; i < 2; i++){
var html = '<label>Option ' + (i + 1) + '<span class="small">Enter text</span></label>'+
'<input type="text" name="option['+i+']">'+
'<input class="extra" type="checkbox" name="checks['+i+']" value="'+i+'">';
alert(html)
}
嘗試使用parseInt ....也可以詳細說明您的問題。
將您的html文本保留為數組元素,它們更易於閱讀和維護。 也可能會加快串聯速度。
var htmlText = [
'<label>Option ' + (i + 1) + '<span class="small">Enter text</span></label>',
'<input type="text" name="option[]">',
'<input class="extra" type="checkbox" name="checks[' + i + ']" value=' + i + '>'
].join("");
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.