array.length和空函数对我没有帮助

时间:2015-04-29 02:51:46

标签: javascript php jquery ajax

我有三个共同名称的复选框

$( "#sortable1, #sortable2, #sortable3" ).sortable({
      connectWith: ".connectedSortable",
      sort: function( event, ui ) {
        $('#cssmenu ul ul').addClass('openSaysMe');
      },
      beforeStop: function( event, ui ) {
        $('#cssmenu ul ul').removeClass('openSaysMe');
      }
    }).disableSelection();

并且在我将该数组传递给ajax

之前,jquery将所选的复选框值推送到数组中
<input type="checkbox" name="checkBox[]" id="checkBox" value="1">
<input type="checkbox" name="checkBox[]" id="checkBox" value="2">
<input type="checkbox" name="checkBox[]" id="checkBox" value="3">

我能够在Ajax页面中迭代PHP中的checkBox数组,但在客户端失败。

checkBox.length 没有给我我检查过的复选框数量。我无法确定数组是否为数组。 我试过 - if(checkBox === undefined || checkBox.length == 0)但没有结果。如何找到上述数组的长度以及它是否为数组。我不想将空数组传递给ajax url。

4 个答案:

答案 0 :(得分:3)

不清楚你在寻找什么,但要获得你在data对象使用中构建的数组的长度:

var len = data['checkBox[]'].length;

注意:正如您当前所示,示例代码data是一个对象,其中一个名为"checkbox[]"的属性,其中数组为值,可能您正在寻找其他内容,可能是data = {checkbox:[]}或仅{ {1}};

答案 1 :(得分:1)

将您的代码更改为此

var checkBox = [];
$("input[type=checkbox]:checked").each(function() {
checkBox.push($(this).val());
});

console.log(checkBox.length);

答案 2 :(得分:0)

你的问题真的不清楚。如果您想查看已检查的复选框数量,可以尝试     $('checkbox[name="checkbox[]"]:checked').length;

答案 3 :(得分:0)

另一种选择:

help_text