2011-07-30 4 views
0

Я пытаюсь опубликовать несколько переменных из уже динамически создаваемого «имени пользователя», такого как «username1», «username2» и т. Д. Я ищу способ динамически отправить их в ONE ajax post request , Моя проблема связана главным образом с параметром data.Ajax после нескольких переменных через цикл?

var numOfInputs = $('input').length; 

    $.ajax({ 
    type: "POST", 
    url: "ajax.php", 
    // need way to dynamically pass more of these via numOfInputs. 
    data: ({username1 : $('#username1').val()}), 
    success: function(msg){ 
     $('#statuses').html(msg); 
    } 
    }); 

просил HTML:

<input type="text" id="username1"></input><button id="add">+</button><button id="check">Check</button> 

<div id="added-fields"> 
</div> 

<div id="statuses"> 
</div> 

ответ

2
var data = {}; 
for (var i = 1; i <= numOfInputs; i++) { 
    data["username" + i] = $("#username" + i).val(); 
} 
$.ajax(
    ... 
    data: data, 
    .... 
) 
1

Ну вы можете сказать:

$.ajax({ 
    type: "POST", 
    url: "ajax.php", 
    data: $('input').map(function() { 
          var o = {}; 
          o[this.id] = this.value; 
          return o; 
      }); 
    ... 
+0

Выдает ошибку в консоли: Uncaught SyntaxError: Неожиданный маркер. – ThomasReggi

+0

вы можете разместить свой html? – Mrchief

+0

обновлен, его не очень, но другой ответ работает – ThomasReggi

Смежные вопросы