{% else-1 %}
В процессе работы над одним сайтом, у меня возникла необходимость передать через ajax многомерный массив. формировать вручную в формат json данные показалось муторно, а подключать плагин ради этого, считал не целесообразно... Нашел решение стандартными средствами и вполне легко понятными...

                        
<!--имеем текстовые поля в таблице где её id это id-элемента-->
<table class="ElementData" id="123">
<tr>
<td>название элемента</td>
<td><input type="text" name="NAME" value="TestName"></td>
</tr>
<tr>
<td>символьный код</td>
<td><input type="text" name="CODE" value="TestCode"></td>
</tr>
<tr>
<td>порядковый номер</td>
<td><input type="text" name="SORT" value="TestSort"></td>
</tr>
<tr>
<td colspan="2"><a class="Button" onClick="SaveElementData(123)">сохранить</a></td>
</tr>
</table>
<script>
/*отправляем данные элемента ajax-ом*/
function SaveElementData(id){
var arValue = new Object();//создаем объект
/*заполняем будущий массив*/
arValue['ELEMENT_ID']=id;
$('table[id="'+id+'"].ElementData input').each(function(){
var NAME_DATA=$(this).attr('name');
var VALUE_DATA=$(this).val();
arValue['ELEMENT_DATA]['+NAME_DATA]=VALUE_DATA;
});
/*передаем данные через ajax*/
$.ajax({
type: "POST",
url: "/system/ajax/element/update.php",
data:{"UPDATE_ELEMENT":arValue},
success:function(e){
$('div.result').html(e);//выводим результат(если это необходимо)
$('div.PopUpFon').hide();//убираем затемнение
},
beforeSend:function(){
$('div.PopUpFon').show();//затемним экран
}
});

}
</script>
<!--
в результате страница /system/ajax/element/update.php получит массив вида:
Array(
[UPDATE_ELEMENT]=>Array(
[ELEMENT_ID]=>123,
[ELEMENT_DATA]=>Array(
[NAME]=>TestName
[CODE]=>TestCode
[SORT]=>TestSort
)
)
)
-->
0 37 0
Без комментариев...