我有一个输入type=checkbox
,其中包含来自id
的{{1}}。我需要选择一些复选框,当我单击特定的单击事件时,我需要将所有复选框值1-10
和(1-0/ checked-not checked)
s存储在2d数组中,并使用ajax发送到php页面。
id
<input type="checkbox" id='1' name="ppackages" class="success">
输出为var popularpackages = [];
$("input:checkbox").each(function(){
var $this = $(this);
popularpackages.push($this.attr("id"));
});
alert(popularpackages);
但我需要1,2,3,4,5,6,7,8,9,10
(id,checked/not checked)
答案 0 :(得分:0)
要实现此目的,您可以使用map()
构建数组,然后将id
和checked
属性作为子数组返回,如下所示:
var popularpackages = $("input:checkbox").map(function() {
return [[parseInt(this.id, 10), this.checked ? 1 : 0]];
}).get();
console.log(popularpackages);
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<input type="checkbox" id="1" name="ppackages" class="success" checked="checked" />
<input type="checkbox" id="2" name="ppackages" class="success" />
<input type="checkbox" id="3" name="ppackages" class="success" />
<input type="checkbox" id="4" name="ppackages" class="success" />
<input type="checkbox" id="5" name="ppackages" class="success" checked="checked" />
<input type="checkbox" id="6" name="ppackages" class="success" />
<input type="checkbox" id="7" name="ppackages" class="success" />
<input type="checkbox" id="8" name="ppackages" class="success" />
<input type="checkbox" id="9" name="ppackages" class="success" checked="checked" />
<input type="checkbox" id="10" name="ppackages" class="success" />
然后可以像往常一样使用popularpackages
或jQuery的其他AJAX方法中的任何一个,将$.ajax
数组发送到PHP逻辑。