Javascript 如何使用value和rel属性在更改选项元素时选中复选框

Javascript 如何使用value和rel属性在更改选项元素时选中复选框,javascript,jquery,checkbox,selectlistitem,Javascript,Jquery,Checkbox,Selectlistitem,我有一个包含下拉列表的页面。选项元素包含值的id。在更改时,我发布并执行sql qry以获取与选项值匹配的所有项目ID。然后我想将checked属性添加到匹配的复选框中。如果这有道理的话 我的选择列表:value属性是集合id <select required="" name="groupSelectList" id="groupSelectList"> <option value="#">Group…</option> <option

我有一个包含下拉列表的页面。选项元素包含值的id。在更改时,我发布并执行sql qry以获取与选项值匹配的所有项目ID。然后我想将checked属性添加到匹配的复选框中。如果这有道理的话

我的选择列表:value属性是集合id

<select required="" name="groupSelectList" id="groupSelectList">
    <option value="#">Group…</option>
    <option value="1">guest: The default group. Users that have not registered</option>
    <option value="2">customer: The default group for users that are customers and have an account</option>
    <option value="3">support: The default group for users of type Support</option>
    <option value="4">site_admin: The site administrator</option>
    <option value="5">support_admin: For the Support department Manager, VP etc.</option>
    <option value="26">testing group 2: This is another disposable group made just for testing</option>
    <option value="25">testing group 1: This is a disposable group. Group #1</option>
    <option value="24">test43: test43 description</option>
    <option value="23">test from new page: testing group to be deleted</option>
</select>
使用评论中建议的选择器和我在这里的一些反思是我最终得到的解决方案。解释如下:

for(var i = 0; i < itemArr.length; i++) {
    $("input[name='checkbox']").each(function() {
        if($(this).attr("rel") === itemArr[i]) {
            var targ = $(".cb[rel='"+itemArr[i]+"']").next();
            $("<i class='entypo icon-check'></i>").appendTo(targ);
            $(".cb[rel='"+itemArr[i]+"']").parent("label").addClass("checked");
        }
    });
}
for(变量i=0;i

现在是忏悔。该属性不需要添加,我需要用一个选中图标附加同级范围,因为我使用的是Gumby css框架,这就是处理样式化复选框的方式。因此,有了正确的选择器,我就能够解决这个问题,这要感谢各位。

问题在于选择器的创建。您正在为
循环使用
的索引,而不是与该索引匹配的数组元素。另外,在新阵列的每次循环过程中循环每个复选框也是多余的

这应该行得通

for(var i = 1; i < itemArr.length; i++) {             
       $(".cb[rel="+ itemArr[i] +"]").prop('checked', true);       
 }
for(var i=1;i
post小数据示例returned@charlietfl. 感谢您的回复,请参阅我的编辑。使用您的示例,这应该会替换。每个函数也会?是的,将立即以特定选择器为目标。您的解决方案将我设置为正确的方向,因此我+1。然而,这是由于我自己的愚蠢,它是晚了,当我写这篇文章。除选择器之外的另一个原因是我正在使用的css框架。为了选中该复选框,我需要在同级跨度上附加一个图标。在我的编辑中查看我的解决方案。另外,由于某些原因,我无法使用.each()函数针对每个函数。但是谢谢你的帮助:)
{"error":false,"msg":"5-4-3-2-1-"}
for(var i = 0; i < itemArr.length; i++) {
    $("input[name='checkbox']").each(function() {
        if($(this).attr("rel") === itemArr[i]) {
            var targ = $(".cb[rel='"+itemArr[i]+"']").next();
            $("<i class='entypo icon-check'></i>").appendTo(targ);
            $(".cb[rel='"+itemArr[i]+"']").parent("label").addClass("checked");
        }
    });
}
for(var i = 1; i < itemArr.length; i++) {             
       $(".cb[rel="+ itemArr[i] +"]").prop('checked', true);       
 }