使用Ajax获取多个复选框值

时间:2016-05-14 03:04:28

标签: jquery ajax checkbox

我无法从Ajax复选框中获取多个值。我可以获得一个复选框值,但多个值不起作用。 这是我的HTML代码

  <input name="p_flatform" class="p_flatform" type="checkbox" value="1">Iphone
 <input name="p_flatform" class="p_flatform" type="checkbox" value="2">Ipad
<input name="p_flatform" class="p_flatform" type="checkbox" value="3">Android

这是我的Ajax

$.ajax({
        url: 'quotation_validation',
       type: 'post',
       data: { p_flatform:$('input[name="p_flatform"]:checked').val()},

它没有用。请帮忙。

2 个答案:

答案 0 :(得分:0)

&#13;
&#13;
var arr = [];
$.each($('input[name="p_flatform"]:checked'), function() {
  var value = $(this).val()

  arr.push(value)

})
console.log(arr)
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input name="p_flatform" class="p_flatform" type="checkbox" value="1" checked>Iphone
<input name="p_flatform" class="p_flatform" type="checkbox" value="2">Ipad
<input name="p_flatform" class="p_flatform" type="checkbox" value="3" checked>Android
&#13;
&#13;
&#13;

迭代每个复选框以获取所有值。 推送数组上的每个值。

答案 1 :(得分:0)

您应该可以使用.map(),如下所示:

$('input[name="p_flatform"]:checked').map(function () { return $(this).val(); }).get();

给你:

data: { p_flatform:$('input[name="p_flatform"]:checked').map(function () { return $(this).val(); }).get()},