如何在数组中存储所有选中的复选框类名?

时间:2014-04-16 04:48:11

标签: jquery arrays checkbox

我试图将所有已检查的复选框类名存储在一个数组中,以便稍后使用ajax函数对其进行解析。

但首先要确保正确存储在数组中的所有类我都会提醒他们,但是知道,我看到的只是第一个选中的复选框类

复选框是动态生成的,应该有很多。

Jquery的

$(document).ready(function() {
    $('#actselect').change(function() {
      var conceptName = $( "#actselect option:selected" ).attr ( "id");
      if (conceptName == "payall"){
     var checkedB = new Array();
         checkedB.push($("input.NP:checkbox:checked").attr("class"));
     alert(checkedB);
  }

});

HTML

   a php while loop {

    <input type="checkbox"  value="None" id="itemselectNP" class="NP T<?php echo $productId; ?>" name="itemselect" />

   }

请告诉我我的代码有什么问题?我尝试过谷歌搜索的不同解决方案,但仍然没有运气。

赞赏

4 个答案:

答案 0 :(得分:1)

使用 each() 跟踪多个元素,现在它只选择一个复选框,因此请使用每个元素存储其所有类

$(document).ready(function() {
    $('#actselect').change(function() {
      var conceptName = $( "#actselect option:selected" ).attr ( "id");
      if (conceptName == "payall"){
     var checkedB = new Array();
         $("input.NP:checkbox:checked").each(function(){
           checkedB.push($(this).attr("class"));
         });
     alert(checkedB);
  }

});

答案 1 :(得分:0)

试试这个

var $array = [];

$.each($('input[type= checkbox]:checked'),function(i,val){
    $array.push('your want to push the value');
});

答案 2 :(得分:0)

试试这种方式

    var checkedB = new Array();
    $("input :checkbox:checked").each(function (){
           checkedB.push($(this).attr('class'));
    }) ;
    alert(checkedB);

快乐编码:)

答案 3 :(得分:0)

                                                    

<script type='text/javascript'>
      $(document).ready(function() {

      GetSelectedCheckbox();
    $('#btnGet').click(function(){
        GetSelectedCheckbox();
    });
    $('#btnSave').click(function() {
            addCheckbox($('#txtName').val());
        });
    });
    function GetSelectedCheckbox()
    {
    var checkedB = new Array();
    $('input[type=checkbox]').each(function () {
        if(this.checked)
        {
            //alert($(this).attr('class'));
            checkedB.push($(this).attr("class"));
        }

     });
    alert(checkedB);
    }
    function addCheckbox(name) {
       var container = $('#checkDiv');
       var inputs = container.find('input');
       var id = inputs.length+1;

       $('<input />', { type: 'checkbox', id: 'cb'+id, value: name,class:'class'+id }).appendTo(container);
       $('<label />', { 'for': 'cb'+id, text: name }).appendTo(container);
    }
      </script>

http://jsfiddle.net/u8sRb/