【发布时间】:2012-11-18 00:14:05
【问题描述】:
这可能有点令人困惑,但它就是这样。我有第一组这样的复选框:
<input type="checkbox" id="quick" value="6" />
<input type="checkbox" id="quick" value="3" />
还有第二组这样的复选框:
<div class="check1"><input type="checkbox" id="1,3,4" value="6" /></div>
<div class="check1"><input type="checkbox" id="1" value="6" /></div>
<div class="check1"><input type="checkbox" id="6,4" value="6" /></div>
我需要获取第一个复选框的值并检查该值是否存在于第二组复选框的 id 数组中,并检查它们是否返回 true。这是我到目前为止所拥有的,但它不起作用:
$('#quick').click(function(){
var perId = $(this).val();
$('#check1 input[type="checkbox"]').attr('id').find(perId).attr('checked', true);
});
有没有人知道如何做到这一点?任何帮助将不胜感激!
【问题讨论】:
-
同一页面上的两个元素不应共享相同的 ID。而且“1,3,4”(尽管在 HTML5 下是合法的)也不是一个合适的 ID 值。
-
我同意这不是一个有效的 id,也许我可以把它放在一个类元素中。我从 mysql 得到这个数组。
-
您是否考虑过使用
data-属性代替? -
确定我会尽一切努力,但请你帮我实现我想要做的事情吗?谢谢
-
@liveandream:使用
data-id="1,2,3"并使用.data('id')访问它。 PS:它是否存储为1,2,3- 数据库中的逗号分隔字符串?如果没有,并且您有 php 数组-那么最好使用json_encode将其序列化为 json,jquery 将为您解码它
标签: jquery arrays find checkbox