Ajax:使用变量来获取HTML对象的值

时间:2012-10-04 10:19:15

标签: javascript jquery ajax

有人可以帮我将这些行转换成一个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,
    ...
}

4 个答案:

答案 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());
    }
}

JSFiddle Example

答案 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发布数据。