jQuery查找复选框并选中/取消选中它

时间:2014-01-24 15:07:25

标签: javascript jquery checkbox

我的checkboxes在循环中创建:

@foreach (L1 item in Model)
{
    <li><label class="checkbox"><input type="checkbox" id="@(item.Name)" 
         class="clink" value="@(item.Name)"/>@item.ForeName</label></li>
}

然后我使用jQuery来检查它:

 $('#cworks').prop('checked', true);

以上不起作用。这是使用firebug生成的html

<label class="checkbox"><input id="cworks" class="clink" value="cworks" type="checkbox">cworks</label>

7 个答案:

答案 0 :(得分:1)

如果复选框有“id”,那么您只需选择它即可。

$('#Careworks_Map').prop('checked', true);

答案 1 :(得分:1)

ID应该是唯一的。因此,将该ID用作选择器就足够了(而且效率最高):

$('#Careworks_Map').prop('checked', true);

答案 2 :(得分:0)

您必须使用类选择器时才使用id选择器:

$('.checkbox input[id="Careworks_Map"]').prop('checked', true);

您也可以直接选择要修改的复选框的ID:

$('#Careworks_Map').prop('checked', true);

答案 3 :(得分:0)

$(":checkbox input[id='Careworks_Map']").attr("checked", true);

答案 4 :(得分:0)

它无效,因为<label>声明了class="checkbox",因此您需要搜索具有句点.的课程,然后定位内部复选框

$('#checkbox input[id="Careworks_Map"]').prop('checked', true); // wrong

$('.checkbox input[id="Careworks_Map"]').prop('checked', true); // right

答案 5 :(得分:0)

在您的示例中,您设置了一个类class="checkbox",然后在jquery调用中使用了一个标识#checkbox input,以便它能够正常运行:

$('.checkbox input[id="somestring"]').prop('checked', true);

然后,如果您的item.Name设置了var item.Name = my_prefix _ somestring这样的前缀,则可以使用通配符。

 $('.checkbox input[id=*"my_prefix"]').prop('checked', true);

如果item.Name是唯一的(我假设),那么就这样做:

$('#Careworks_Map').prop('checked', true);

修改

根据您的更新,您应该这样做:

$('#cworks').prop('checked', true);

http://jsfiddle.net/daguru/7FUBn/2/

答案 6 :(得分:0)

使用id而不是class

$('#Careworks_Map')。prop('checked',true);