javascript操作错误
更改“选择”框后,它必须收集复选框ID并提交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[]'].
$("#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;};`谢谢你们。