Jquery,用变量获取输入值

时间:2012-05-15 15:06:54

标签: jquery post checkbox

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

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



    });

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

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

由于

4 个答案:

答案 0 :(得分:1)

您应该使用.prop代替.attr

.prop("checked",true);

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

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

DEMO

答案 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