我有一个post动作,当它成功时,我调用一个方法并传递一个json结果。然后我循环遍历每个json对象,在该循环中我想得到一个带有对象id作为值属性的复选框,这是我的做法:
$.each(roles, function (index, role) {
var checkboxes = $('input[value="role.RoleId"][type="checkbox"]').attr("checked",true);
});
如您所见,我有一个复选框列表,我想在它们的value属性等于“role.RoleId”时选择它们。但我无法做到,我该怎么做?
编辑:那么如何选择该复选框的包装元素呢?在里面 。所以我还需要选择元素?
由于
答案 0 :(得分:1)
您应该使用.prop
代替.attr
。
.prop("checked",true);
你还需要附加role.RoleId ..见下文,
$.each(roles, function (index, role) {
var checkboxes = $('input:checkbox[value="' + role.RoleId + '"]').prop("checked",true);
});
答案 1 :(得分:1)
你必须使用像这样的值或角色.RoleId
var checkboxes = $('input[value="'+role.RoleId+'"][type="checkbox"]').attr("checked",true);
as role是来自$ .each循环的对象。
答案 2 :(得分:0)
var checkboxes = $('input[value="'+role.RoleId+'"][type="checkbox"]').prop("checked",true);
但是将ID设置为复选框会使问题变得更加简单。
答案 3 :(得分:0)
您可以使用:checkbox
选择器稍微缩短代码:
$(":checkbox[value=" + role.RoleId + "]").prop("checked", true);
您希望在此处使用连接,以便role.RoleId
不按字面解释为纯文本,而是我们想要使用role.RoleId
的值。