2013-10-14 2 views
0

Используя этот ответ How to get all child inputs of a div element (jQuery) Я извлекаю все Входы внутри определенного <div>.Соберите входы в JSON

Я также хочу отправить входы через ajax, количество входов не фиксировано, поэтому вместо того, чтобы вручную вводить каждый вход в данные json для отправки, я хочу использовать each() и - здесь наступает точка, t know - append каждыйname и value json.

$('#mydiv :input').each(function(k, v) { 
    postData += [{ $(v).attr("name"): $(v).val() }]; 
} 

$.post("url.htm", postData, function(data) { /***/ }); 

Внутри должно быть крошечная ошибка, но я не могу понять.

+0

Каков тип 'postData' в вашем случае? –

+0

@Sniffer 'postData' - это JSON, используемый jQuery – DanFromGermany

ответ

1

Похоже, функция serializeArray является то, что вам нужно:

$.post("url.htm", $('#mydiv :input').serializeArray(), function(data) { /***/ }); 
0

Поскольку вы хотите отправить POSTDATA, попробуйте сделать массив первым, а затем вам нужно сделать, как этот

var postData=[]; 

('#mydiv :input').each(function(k, v) { 
    postData.push({ $(v).attr("name"): $(v).val() }); 
} 

$.post("url.htm", postData, function(data) { /***/ }); 

A слово предостережения, когда вы делаете POST-вызов, укажите 4-й параметр как «json», если ожидаемым ответом является JSON.

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