javascript操作错误

javascript操作错误,javascript,jquery,Javascript,Jquery,更改“选择”框后,它必须收集复选框ID并提交 $("#action").change(function(){ if(($(this).val())!='0'){ var data = { 'req_ids[]' : []}; var doit = $("#action").val(); $(".checkboxes:checked").each(function(){ data['req_ids[]'].

更改“选择”框后,它必须收集复选框ID并提交

$("#action").change(function(){
    if(($(this).val())!='0'){
        var data = { 'req_ids[]' : []};
        var doit = $("#action").val();
            $(".checkboxes:checked").each(function(){
              data['req_ids[]'].push($(this).attr('id'));
            });
            var size = Object.size(data['req_ids[]']);
                if(size>0){
                    $.post("workplan-requests.php?action=update&do="+doit, data);
                    $("tr.checked").remove();
                }
    $("#action").val('0');
    }
});
但当我在选择框中通过更改来选择我的操作时, 它显示此错误:

TypeError: Object.size is not a function
var size = Object.size(data['req_ids[]']);
我知道这个错误是因为java脚本在同一时间运行整个代码,但我如何才能做到这一点而不出问题

应该是

var size = data['req_ids[]'].length;
也尝试

$("#action").change(function () {
    if (($(this).val()) != '0') {
        var data = {};
        data['req_ids[]'] = $(".checkboxes:checked").map(function () {
            return this.id
        }).get();

        var size = data['req_ids[]'].length;
        if (size > 0) {
            var doit = $("#action").val();
            $.post("workplan-requests.php?action=update&do=" + doit, data);
            $("tr.checked").remove();
        }
        $("#action").val('0');
    }
});

你想用大小检查什么?我必须阻止post请求发送空数据!!然后看看aruns的答案,数组的检查包含.length元素,因为
Object.size
不是一个函数。数组的
.length
包含它的sizeLOL!!这是因为我在另一个脚本上定义了函数`Object.size=function(obj){var size=0,key;for(key in obj){if(obj.hasOwnProperty(key))size++;}return size;};`谢谢你们。