【发布时间】:2021-06-10 15:14:58
【问题描述】:
这里的data['arrays'] 是来自后端的 json 响应。它将返回具有已从列表中检查的 id 值的数组。但是我卡住了如何将数组 [id] 与复选框输入值(即 id)进行比较。如果两个 id 相等,则启用检查属性。
脚本
$('.mybtn').click(function() {
url=$(this).attr('url');
$.ajax({
url: url,
type: 'GET',
success: function (data) {
$('#myform').find('input[name="name"]').val(data['title']); #works
for (let i = 0; i < data['arrays'].length; ++i) {
console.log(data['arrays'][i]['id'])
if($('#myform').find('input[name="u"]').val() == data['arrays'][i]['id']){
# doesnot works checks all
}
$('#myform').find('input[name="u"]').attr('checked', true); #checks all
}
},
});
});
html
动态列表
<ul id="myid">
{% for u in usrs %}
<li>
<input type="checkbox" name="u" value={{u.id}}/>
</li>
{% endfor %}
编辑: 数据输出:
Object { title: "Hello World", usrs: (2) […] }
title: "Hello World"
usrs: Array [ {…}, {…} ]
0: Object { id: 6, name: "hello" }
1: Object { id: 8, name: "nameq" }
length: 2
【问题讨论】:
-
嗨,你能显示
data的输出吗? -
@Swati 在问题中更新
标签: javascript html jquery ajax