2016-05-14 71 views
0

我無法從複選框使用Ajax獲取多個值。我可以得到一個複選框的值,但多個值不起作用。 這裏是我的HTML代碼使用Ajax獲取多個複選框值

<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()}, 

它沒有工作。請幫忙。

+0

你想要什麼?一組選中的值? – cuniculus

回答

0

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

 
    arr.push(value) 
 

 
}) 
 
console.log(arr)
<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

迭代每個複選框以獲取所有值。 推送陣列上的每個值。

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()},