我有一个像这样的输入框数组。
<form>
9 <input type="checkbox" name="date[]" value="9">
10 <input type="checkbox" name="date[]" value="10">
11 <input type="checkbox" name="date[]" value="11">
</form>
我需要存储在日期数组中的值,以将其传递给ajax调用。
我已经尝试了
console.log($("input[name^=date]").val());
但这只输出9.我总是可以检查是否检查了各个元素,然后获取它们的值,创建一个数组并将其传递给ajax调用,但有没有办法直接执行此操作?
编辑:为什么console.log($("input[name^=date]").val());
只输出9?
答案 0 :(得分:2)
你可以这样做:
var values = $("input[name='date[]']:checked").map(function() {
return this.value;
}).get();
values
将是复选框值的数组。
答案 1 :(得分:1)
如果您通过ajax提交数据,则只需serialize
表单即可获取所有数据,已经过网址编码:
$('form').serialize();
例如,如果选中所有复选框,您将获得以下数据:
date%5B%5D=9&date%5B%5D=10&date%5B%5D=11
//which is date[]=9&date[]=10&date[]=11
PHP
可以轻松处理数组参数:date[]
。
答案 2 :(得分:0)