如何检查多个复选框的值?

时间:2015-07-30 11:19:57

标签: jquery html

我有一个循环,循环并创建4个复选框。但是,因为视图中只有一个,所以我无法获得所有4个复选框的值。有没有办法获取复选框的所有ID,然后检查每个值?

HTML:

<div class="col-md-10" id="createButton">
    @foreach (var item in (SelectList)ViewBag.RoleId) {
        <input type="checkbox" name="SelectedRoles" value="@item.Value" class="checkbox-inline" id="test" />
        @Html.Label(item.Value, new { @class = "control-label" })
    }
</div>

JQuery的:

<script>
  $("#CreateUserButton").on('click', function () {
     if ($('#test').attr('checked', false)) {
        alert("hey");
     }
  });        
</script>

4 个答案:

答案 0 :(得分:0)

请尝试检查所有复选框

$(":checkbox").each(function(){
    alert($(this).prop('checked'));
});

答案 1 :(得分:0)

问题是id,它在for...each循环的每次迭代中都会重复。最好删除它并使用类名创建一个选择器。

<div class="col-md-10" id="createButton">
     @foreach (var item in (SelectList)ViewBag.RoleId) {
       <input type="checkbox" name="SelectedRoles" value="@item.Value" class="checkbox-inline test" />
       @Html.Label(item.Value, new { @class = "control-label" })
     }
</div>

然后你可以使用它:

$("#CreateUserButton").on('click', function () {
    if ($('.test:checked').each(function() {
        console.log(this.value);
    });
});

答案 2 :(得分:0)

你可以试试,

$("#CreateUserButton").on('click', function () {
    $('#createButton :checkbox').each(function(){
         console.log(this.checked);
    });
});

答案 3 :(得分:0)

您可以尝试以下代码:

release_path