如何使用jQuery根据值选中复选框?

4
我该如何使用jQuery根据复选框的值(在页面加载时)来检查复选框?我有一个值列表,这些值已经存储在本地存储中(HTML5万岁!!)。以下是一个示例数据:
something_random|something_random2|something_random3

基本上,我想读取每个值,并确保已经具有这些值的onload复选框被选中。

我已经编写了以下代码;

my_cookie=localStorage.getItem('chosen_ones');

      $.each(my_cookie.split("|"), function(index, values) {
               if((values==val)&&(values!=null)&&(values!="")&&(values!="null")&&(values!="")){
                 $('input[value='+values+'').attr('checked', true);
            }
        });

然而,这并没有起作用。我该如何解决?
1个回答

4
我建议采用以下方案:
$('input[type=checkbox][value='+values+']').attr('checked', true);

注意类型和关闭方括号。


抱歉我稍晚修改了我的帖子。你能帮我处理这个新情况吗? - JohnRoach
我正在使用以下代码:$(':checkbox:not(:checked)').each(function(){ val= $(this).val(); $.each(my_cookie.split("|"), function(index, values) { if((values==val)&&(values!=null)&&(values!="")&&(values!="null")&&(values!="")){ $('input[type=checkbox][value='+values+']').attr('checked', true); } }); });但是这一次它卡住了,为什么会这样? - JohnRoach
查询已经自动选择具有适当值的所有复选框,因此在此处 $(':checkbox:not(:checked)').each 没有用处。$.each(my_cookie...) 循环应该足够了。 - Victor Nicollet
是的,但我的“val”是复选框的值,我只想在两个值匹配时检查复选框(即本地存储的值和复选框的值相匹配)。 - JohnRoach
这是[value='+values+']的作用:选择与该值匹配的复选框。 - Victor Nicollet

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接