检查复选框数组中的复选框是否已选中

时间:2019-02-11 03:56:03

标签: jquery arrays checkbox

我有一组复选框。如果有一个选中的复选框,它将被添加到文本字符串中。这是我的代码:

  var a = $(this).closest('tr').parent().closest('tr').find('input[type="checkbox"].CheckedArray');

        for (var i = 0; i < a.length; i++) {
            if (a[i].is(':checked')) {
                list= list+ a[i].value + ", ";
            }
            alert(list);
        }

        <table id="" class="table">
<tr>
    <td>
        <div class="form-horizontal form-inline">
            <input class="CheckedArray" type="Checkbox" value="' + Id + '" id="CheckedArray" name="CheckedArray" />Select<div class="form-group"><label for="" class="control-label col-sm-1"></label><label for="" class="control-label col-sm-4">PD No: </label><div class="col-sm-3"><input name="PDNo" class="form-control input-sm " id="PDNo" type="text" /></div></div>
        </div>
    </td>
</tr>

我使用checked作为条件,但没有显示任何警报。我不想使用过滤器功能,因为我需要迭代值来显示其他输入。

3 个答案:

答案 0 :(得分:1)

if ( $( elem ).prop( "checked" ) )
{
  \\Code_here
}

if ( $( elem ).is( ":checked" ) )
{
  \\Code_here
}

两者都可以。尝试在代码中添加$号。

答案 1 :(得分:1)

您获得了选中复选框的位置,但是如果您不使用$符号,就永远不会得到该元素。

使用以下代码,一切都会正常进行。

$(a [I])。prop(“ checked”);

答案 2 :(得分:0)

您可以使用


  <script>
    $(document).ready(function()
    {
     $(".CheckedArray").change(function()
       {
         console.log( $(this).prop("checked"),$(this).attr("id") );

       });

    });
     </script>

<table id="" class="table">
<tr>
<td>
<div class="form-horizontal form-inline">
    <input class="CheckedArray" type="Checkbox" value="' + Id + '" id="CheckedArray" name="CheckedArray" />Select<div class="form-group"><label for="" class="control-label col-sm-1"></label><label for="" class="control-label col-sm-4">PD No: </label><div class="col-sm-3"><input name="PDNo" class="form-control input-sm " id="PDNo" type="text" /></div></div>
</div>
</td>
</tr>