javascript - 检查 json 对象中是否存在复选框

标签 javascript jquery json checkbox

我有这个 json 对象:

[{"id_distrib":"1"},{"id_distrib":"44"},{"id_distrib":"4"}]

我想检查这些复选框:

    <input id="1" class="cb_distrib_linux" type="checkbox" value="1">
Achlinux
<input id="2" class="cb_distrib_linux" type="checkbox" value="2">
Aurox
<input id="3" class="cb_distrib_linux" type="checkbox" value="3">
BackTrack

... CenOS
...

我这样做:

success: function(listes_distrib)
        {
           for(var distrib in listes_distrib)
           {

              $('#all_distrib_linux input:checkbox[value='+listes_distrib[distrib]+']').attr('checked', true);
           }
        },

我的所有复选框都已选中。

listes_distrib[distrib] 的警报给了我“[”而不是 ID。

提前感谢您的帮助。

最佳答案

你可以这样做:

$('#all_distrib_linux input:checkbox[value=' + listes_distrib[distrib].id_distrib +']').prop('checked', true);

您必须使用以下方法从 json 对象获取值:

listes_distrib[0].id_distrib   // return 1
listes_distrib[1].id_distrib   // return 44
listes_distrib[2].id_distrib   // return 4

此外,请使用 .prop() 而不是 .prop() API Documentation 中提到的 .attr() :

Before jQuery 1.6, the .attr() method sometimes took property values into account when retrieving some attributes, which could cause inconsistent behavior. As of jQuery 1.6, the .prop() method provides a way to explicitly retrieve property values, while .attr() retrieves attributes.

关于javascript - 检查 json 对象中是否存在复选框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19829986/

相关文章:

javascript - XPages 运行时优化的 Javascript 和 CSS 资源不起作用

javascript - 如何控制 HTML 页面的布局,使正文停在距底部 x 像素处?

jquery - 我怎样才能以相反的方式制作动画?

javascript - bootstrap 和 jquery 验证冲突

javascript - 两次更改文件后裁剪工具不工作?

php - 从地址获取谷歌地图地理编码

sql - JSON_VALUE 的 Postgres 语句

javascript - 在 Vue 上,如何在另一个组件中使用一个组件的函数?

javascript - 如何迭代数组中的每个数字并将它们与同一数组中的其他数字相加 - JS

java - 如何修改此代码以使其在 Android API 3.0 上运行?