Javascript 根据Ajax GET请求将复选框设置为选中
我试图根据通过ajax get请求从服务器获得的数据选中复选框: 这就是我的结局 所以复选框没有被正确选中。如果有人能帮我解决这个问题,我们将不胜感激,谢谢。 首先,id在同一文档中应该是唯一的,所以在您的情况下,将id myCheckbox替换为id myCheckbox[todo.id] 选中的true和false都将检查输入,您应该添加属性checked,以防需要检查:Javascript 根据Ajax GET请求将复选框设置为选中,javascript,jquery,ajax,rest,checkbox,Javascript,Jquery,Ajax,Rest,Checkbox,我试图根据通过ajax get请求从服务器获得的数据选中复选框: 这就是我的结局 所以复选框没有被正确选中。如果有人能帮我解决这个问题,我们将不胜感激,谢谢。 首先,id在同一文档中应该是唯一的,所以在您的情况下,将id myCheckbox替换为id myCheckbox[todo.id] 选中的true和false都将检查输入,您应该添加属性checked,以防需要检查: $.each(todos, function (i, todo) { var checked = '';
$.each(todos, function (i, todo) {
var checked = '';
if (todo.isCompleted)
checked = 'checked';
tbodyEl.append('\
<tr>\
<td><input type="checkbox" value="'+todo.id+'" id="myCheckbox['+todo.id+']" '+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>\
');
});
希望这有帮助。您正在为每个复选框添加选中属性,因此每个复选框都已选中,所以只需将选中属性添加到您需要的复选框中即可
$.each(todos, function (i, todo) {
var checkProp="";
if (todo.isCompleted)
checkProp="checked='checked'";
tbodyEl.append('\
<tr>\
<td><input type="checkbox" value="'+todo.id+'" id="myCheckbox" '+checkProp+'/></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>\
');
});
发生了什么?ID在HTML文档中必须是唯一的-您的代码如何知道您指的是哪个myCheckbox。。。哦,摸摸鱼???真的吗???@JaromandaX对此表示抱歉,这只是我看到的一件事。一旦你解决了这个问题,在添加到页面之前设置/清除复选框-re fishy-nice:pif!todo.isCompleted$'myCheckbox'.prop'checked',false;else$'myCheckbox'.prop'checked',true;可以是$'myCheckbox'.prop'checked',todo.isCompleted;-但这不是你的问题…也要解决id问题:pappend i to id like id=myCheckbox+it就是这样做的!非常感谢你的帮助。
$.each(todos, function (i, todo) {
var checked = '';
if (todo.isCompleted)
checked = 'checked';
tbodyEl.append('\
<tr>\
<td><input type="checkbox" value="'+todo.id+'" id="myCheckbox['+todo.id+']" '+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>\
');
});
$.each(todos, function (i, todo) {
var checkProp="";
if (todo.isCompleted)
checkProp="checked='checked'";
tbodyEl.append('\
<tr>\
<td><input type="checkbox" value="'+todo.id+'" id="myCheckbox" '+checkProp+'/></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>\
');
});