我想获得可以通过ajax传递的字符串中所有选中复选框的值。
<input value="1" class="customer" type="checkbox">
<input value="2" class="customer" type="checkbox">
<input value="3" class="customer" type="checkbox">
<input value="4" class="customer" type="checkbox">
<input value="5" class="customer" type="checkbox">
所以如果检查了2和5,我想创建一个变量var checked='2,5'
var checked_arr = [];
$('.customer:checked').each(function(){
checked_arr.push($(this).val());
});
checked = JSON.stringify(checked_arr);
$.ajax({
type : 'POST',
url : '//'+base_url+'/ajax/customers.php',
data : 'checked='+checked,
success : function(data) {
}
});
我认为我需要对其进行json编码以使数组通过,但是我什至似乎都没有正确创建数组。我认为在将值推入数组时缺少某些东西。
JSON.stringify()
将创建["2","5"]
,而不是2,5
。您应该使用
var checked = checked_arr.join(',');
或者您可以只传递数组本身:
data: {checked: checked_arr},
[$.ajax
将对此进行格式化,以便$_POST['checked']
将成为数组。