有人可以帮我将这些行转换成一个for循环吗?
var optie1 = "";
if($('#form #optie1_check').is(':checked')) {
optie1 = $('#form #optie1_naam').val();
}
var optie2 = "";
if($('#form #optie2_check').is(':checked')) {
optie2 = $('#form #optie2_naam').val();
}
我似乎无法在Google上找到答案,也不知道如何搜索它。 我想要这样的东西:
for loop (i) {
var str = "optie" + (i+1) + "_check";
var str2 = "optie" + (i+1) + "_naam";
if($('#form #str').is(':checked')) {
opties = $('#form #str2').val();
}
}
opties是一个我将把所有值放入的数组,所以我可以稍后传递它:
$.ajax({
type: "POST",
url: "voegOptiesToe.php",
data: "opties="+opties,
...
}
答案 0 :(得分:0)
var opties = new Array();
for (i=1; i<=2; i++) {
var str = "optie" + i + "_check";
var str2 = "optie" + i + "_naam";
if($('#form #'+str).is(':checked')) {
opties.push($('#form #'+str2).val());
}
}
答案 1 :(得分:0)
var optie,i=1;
$('#form #optie'+i+'_check').is(':checked').each(function(){
optie+= $('#form #optie'+i+'_naam').val();
i++;
});
答案 2 :(得分:0)
您可以简单地使用.serialize()
将一组表单元素编码为提交字符串
http://api.jquery.com/serialize/
例如,
$.ajax({
type: "POST",
url: "voegOptiesToe.php",
data: $('form').serialize(),
...
}
答案 3 :(得分:0)
如果两个复选框保持相同的名称,默认情况下,您可以将该值作为服务器端的数组进行检索。
或试试这个:
values = []
$("#form input[type='checkbox']")
.filter(function(i,el){
return $(el).is(':checked');
})
.each(function(i, el){
arr.push($(el).val());
})
您可以将values
数组发送到ajax发布数据。