【发布时间】:2017-04-06 02:17:28
【问题描述】:
我正在尝试根据来自服务器的数据通过 ajax get 请求检查复选框:
var GetTodos = (function () {
//GET/READ
return $.ajax({
url: '/api/Todos/GetTodos',
contentType: 'application/json',
success: function (todos) {
var tbodyEl = $('tbody');
$.each(todos, function (i, todo) {
if (!todo.isCompleted)
$('#myCheckbox').prop('checked', false);
else
$('#myCheckbox').prop('checked', true);
tbodyEl.append('\
<tr>\
<td><input type="checkbox" value="'+todo.id+'" id="myCheckbox" checked/></td>\
<td class="id">' + todo.id + '</td>\
<td><input type="text" class="name" value="' + todo.text + '"></td>\
<td>\
<button id="editBtn" class="btn btn-warning">Update</button>\
<button id="deleteBtn" class="btn btn-danger">Delete</button>\
</td>\
</tr>\
');
});
}
});
});
所以我发送了一个 ajax get 请求来获取 json 数据,下面的响应是这样的
[
{
"id": 1,
"text": "Walk the dog",
"isCompleted": false
},
{
"id": 4,
"text": "go out with friends",
"isCompleted": false
},
{
"id": 5,
"text": "touch the fishy",
"isCompleted": true
}
]
这就是我的结局
所以复选框没有得到正确检查。如果有人可以帮助我解决这个问题,将不胜感激,谢谢。
【问题讨论】:
-
发生了什么?
-
ID 在 HTML 文档中的必须是唯一的 - 您的代码如何“知道”您的“意思”
myCheckbox? ...哦,还有touch the fishy???真的吗?? -
@JaromandaX 对此感到抱歉,imgur.com/gallery/ZigXHzX 这只是我看到的东西
-
你也(一旦你解决了这个问题)在它被添加到页面之前设置/清除复选框 - 重新可疑 - 很好:p
-
if (!todo.isCompleted) $('#myCheckbox').prop('checked', false); else $('#myCheckbox').prop('checked', true);可能只是$('#myCheckbox').prop('checked', todo.isCompleted);- 但这不是你的问题......
标签: javascript jquery ajax rest checkbox