Javascript 如果未在jquery中选中复选框,则删除空值
当我选中多个复选框(比如1、3、5)时,它将返回1、3、5Javascript 如果未在jquery中选中复选框,则删除空值,javascript,jquery,arrays,Javascript,Jquery,Arrays,当我选中多个复选框(比如1、3、5)时,它将返回1、3、5 我想删除数组中存在的空值 在if条件内移动i++ function modChkIdArr() { var modchkid = new Array(); var i = 0; $("input[name='modChkId[]']").each(function() { if ($(this).is(":checked")) { modchkid[i] = $(thi
我想删除数组中存在的空值 在if条件内移动
i++
function modChkIdArr() {
var modchkid = new Array();
var i = 0;
$("input[name='modChkId[]']").each(function() {
if ($(this).is(":checked")) {
modchkid[i] = $(this).val();
}
i++;
});
$('#create_module').val(modchkid);
}
var moduleArr = $('#create_module').val().split(",");
alert(moduleArr);
您正在使用jQuery,可以用它做很多事情
function modChkIdArr() {
var modchkid = new Array();
var i = 0;
$("input[name='modChkId[]']").each(function() {
if ($(this).is(":checked")) {
modchkid[i] = $(this).val();
i++;
//--^------
}
});
}
var moduleArr = $('#create_module').val().split(",");
alert(moduleArr);
问题在于
i
,无论是否选中复选框,您都在更新它
function modChkIdArr() {
//Create array using .map function.
var checkedValues = $("input[name='modChkId[]']:checked").map(function() {
return $(this).val();
}).get();
$('#create_module').val(checkedValues);
}
或者,您也可以尝试以下方法:
if ($(this).is(":checked")) {
modchkid[i] = $(this).val();
i ++;//move here
}
//i++; //here
您可以减少代码,请尝试:选中的选择器和映射()
用道具试一试
function modChkIdArr() {
var modchkid = $("input[name='modChkId[]']:checked").map(function() {
return this.value; //get checkbox value
}).get(); //get array
$('#create_module').val(modchkid.join(',')); //csv
}
看看我补充的答案。
function modChkIdArr() {
var modchkid = $("input[name='modChkId[]']:checked").map(function() {
return this.value; //get checkbox value
}).get(); //get array
$('#create_module').val(modchkid.join(',')); //csv
}
function modChkIdArr() {
var modchkid = new Array();
var i = 0;
$("input[name='modChkId[]']").each(function() {
if ($(this).prop('checked') == true) {
modchkid[i] = $(this).val();
i++;
//--^------
}
});
}
var moduleArr = $('#create_module').val().split(",");
alert(moduleArr);