在包含HTML元素的JS变量中添加HTML代码
Add HTML code inside of a JS var that contains an HTML element
我需要添加一个任务列表后,单击一行在html表我使用knockout js。问题是,我只是从我的数据添加最后一个任务在一行中,我需要在我的元素"$taskSelected"中为每个任务添加一个新的TR。这是我的代码
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>
"基本上我想嵌套行。
试试这个:
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) {
var html = "";
$.each(data, function(key, value) {
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 html
移出each
循环。这样可以确保之前的所有HTML都保留在变量中,否则每次运行循环时都会覆盖html
(这就是为什么只输出最后一个;))。
相关文章:
- 将 HTML 添加到 Javascript IF 函数
- 如何使用 javascript 向我的 html 添加内容而不擦除整个页面
- 如何更新浏览器'使用Ajax将html添加到页面后的缓存
- 有没有一种方法可以用javascript将原始html添加为新的表行
- Javascript和HTML - 添加一个下拉菜单,我在这里做错了什么
- 在我的情况下,如何将html添加到Angular中
- Facebook的“赞”按钮如何具有跨域访问权限,可以将HTML添加到父窗口
- 使用 JavaScript 向 HTML 添加数据、类和样式
- HTML - 添加和删除收藏夹
- 元素上的 HTML 添加属性
- ng-bind-html 添加拥有 CSS 类“ng-binding”,它破坏了所有嵌套的 css,如何摆脱它
- 将.html添加到字符串 Javascript
- 在Angular对象中循环时向HTML添加id
- 在将html添加到文档中之前,如何修改ajax调用中的html
- 将HTML添加到JQuery同位素插件/插入项第2部分
- 将HTML添加到JQuery同位素加载项/插入项
- 将HTML添加到iframe会导致页面重新加载
- JQuery:将HTML添加到父分区作为AJAX的结果
- Backbone Rails:如何在application.HTML.erb中为HTML添加javascript
- 使用jQuery向HTML添加Maxlength属性