使用jQuery获取HTML数组的价值

时间:2014-09-16 15:49:11

标签: jquery arrays ajax html5

我有一个像这样的输入框数组。

<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?

3 个答案:

答案 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)

尝试each

var arr = []
$("input[name^=date]").each(function(){
     arr.push($(this).val())

})

Fiddle