DeeDi - трезвые записки

serializeArray()

Упорядочивает все формы и элементы на форме (подобно .serialize()), но возвращает данные, которые можно использовать в структуре JSON.
Прим.: структура JSON, возращаемая методом serializeArray(), не является строкой. serializeArray() работает только с элементами формы. Кроме того, serializeArray() не работает при использовании с вложенными формами, которые недопустимы в HTML.
Возвращаемая JSON-структура представляет собой массив объектов, где каждый объект содержит один или два ключа: name (имя) и value (значение):

[
{name: 'firstname', value: 'Hello'},
{name: 'lastname', value: 'World'},
{name: 'alias'}, // this one was empty
]

В примере получаем значения из формы, обрабатываем, добавляем в #example_j p:




Результат:

//jQuery$(document).ready(function (){
function showValues() {
var fields = $("#example_j :input").serializeArray();
$("#example_j p").empty();
$.each(fields, function(i, field){
$("#example_j p").append(field.value + " ");
});
}
$("#example_j :checkbox, #example_j :radio").click(showValues);
$("#example_j select").change(showValues);
showValues();
});

//HTML/CSS<style>
#example_j{border:solid 1px #999; margin:5px; padding:10px}
#example_j p {color:red}
</style><div id="example_j">
<form>
<select name="single">
<option>Single</option>
<option>Single2</option>
</select>
<br />
<select name="multiple" multiple="multiple">
<option selected="selected">Multiple</option>
<option>Multiple2</option>
<option selected="selected">Multiple3</option>
</select>
<br/>
<input type="checkbox" name="check" value="check1" id="ch1"/>
<label for="ch1">check1</label>
<input type="checkbox" name="check" value="check2" checked="checked" id="ch2"/>
<label for="ch2">check2</label>
<br />
<input type="radio" name="radio" value="radio1" checked="checked" id="r1"/>
<label for="r1">radio1</label>
<input type="radio" name="radio" value="radio2" id="r2"/>
<label for="r2">radio2</label>
</form>
<p></p>
</div>


Боковой текст: