0

我有一个发布操作,当它成功时,我调用一个方法并传递一个 json 结果。然后我循环遍历每个 json 对象,在那个循环中我想获得一个带有对象 id 作为值属性的复选框,这是我的做法:

$.each(roles, function (index, role) {
        var checkboxes = $('input[value="role.RoleId"][type="checkbox"]').attr("checked",true);



    });

如您所见,我有一个复选框列表,当它们的值属性等于“role.RoleId”时,我想选择它们。但是我做不到,我该怎么做?

编辑:那么我如何选择该复选框的包装元素。在里面 。所以我还需要选择元素?

谢谢

4

4 回答 4

1

您应该使用.prop而不是.attr.

.prop("checked",true);

您还需要附加 role.RoleId.. 见下文,

$.each(roles, function (index, role) {
        var checkboxes = $('input:checkbox[value="' + role.RoleId + '"]').prop("checked",true);
});

演示

于 2012-05-15T15:08:08.470 回答
1

您必须像这样使用 value 或 role.RoleId

 var checkboxes = $('input[value="'+role.RoleId+'"][type="checkbox"]').attr("checked",true);

因为角色是来自 $.each 循环的对象。

于 2012-05-15T15:10:09.767 回答
0
 var checkboxes = $('input[value="'+role.RoleId+'"][type="checkbox"]').prop("checked",true);

但是为复选框设置 id 会使问题更简单。

于 2012-05-15T15:10:17.257 回答
0

您可以使用:checkbox选择器将代码缩短一点:

$(":checkbox[value=" + role.RoleId + "]").prop("checked", true);

您想在这里使用连接,这样就不会按字面意思解释为纯文本,role.RoleId而是我们想使用.role.RoleId

于 2012-05-15T15:21:19.227 回答