我有以下HTML:
<input type="checkbox" name="subregion[]" value="North East" />North East
<input type="checkbox" name="subregion[]" value="North West" />North West
<input type="checkbox" name="subregion[]" value="Midlands" />Midlands
<input type="checkbox" name="subregion[]" value="South East" />South East
<input type="checkbox" name="subregion[]" value="South West" />South West
<input type="checkbox" name="subregion[]" value="Wales" />Wales
<input type="checkbox" name="subregion[]" value="Scotland" />Scotland
我想使用ajax将检查输入的值列表传递给php脚本。我只是无法弄清楚如何用jQuery实现它?
答案 0 :(得分:1)
获取值数组:
var checked = $('[name="subregion[]"]:checked').map(function() {
return $(this).val();
}).get();
如果您使用的是$.ajax
或相关方法,则无需序列化或调用JSON.stringify
(您只需将数组用作参数值 )。
答案 1 :(得分:0)
循环选中复选框,将它们添加到数组并将其转换为字符串:
var checked = [];
$('input[type="checkbox"]:checked').each(function() {
checked.push($(this).val());
});
var checkedStr = JSON.stringify(checked);
或者像这样序列化它们:
$('input[type="checkbox"]:checked').serialize();
答案 2 :(得分:0)
<强> Demo: jsFiddle 强>
如果您使用的是CSS3,则可以使用begins-with
选择器,否则您可以使用name="subregion[]"
。
function getSelectedSubregions() {
var subregion = new Array();
$(':checkbox:checked[name^="subregion"]').each(function() {
subregion.push($(this).val());
});
return subregion;
}