1
我需要添加一個任務列表,然後單擊html表格中的一行我使用的是knockout js。問題是我只是從我的數據連續添加了最後一項任務,我需要在我的元素「$ taskSelected」中爲每個任務添加一個新的TR。這裏是我的代碼在包含HTML元素的JS var內添加HTML代碼
self.retrieveTask = function(data, event) {
if (event.type=="click") {
var id = data.Id;
var $taskSelected = event.currentTarget.parentElement.nextElementSibling;
$.get("@Url.Action("Method", "Controller")", { id: id })
.done(function(data) {
$.each(data, function(key, value) {
var html = "<tr><td>" +
"</td>" +
"<td>" +
" <div >" +
+ value.Type +
"</div> " +
"</td>" +
"<td>" +
" <div >" +
value.Id +
"</div> " +
"</td>" +
"</tr>";
$taskSelected.innerHTML=html;
});
}).fail(function() {
alert("error");
});
};
}
了var $ taskSelected包含另一行「<tr> </tr>
」基本上㈡要嵌套行。有的建議請
您不能嵌套[行](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/tr):「允許的內容:_零或更多或
回答
試試這個:
我所做的只是移動
var html
以外的each
循環。這可以確保您以前的所有HTML都保留在變量中,否則每次運行循環時都會覆蓋html
(這就是爲什麼您只輸出最後一個;))。來源
2016-09-01 17:20:49 hellojebus
謝謝你的回答的確,它的範圍是錯的,順便說一下,我最糟糕的錯誤在於Teemu說我的桌子的結構。我修復它改變了我的表的結構,並添加$(html).insertAfter($ taskSelected)當前行後。再次感謝。 – UserEsp
相關問題