Здравствуйте вот у меня есть многоуровневая форма
http://prntscr.com/i08uby
И на втором уровне у меня есть свойства товара
http://prntscr.com/i08uj0
Как мне в коде HTML нужно обозначить поля формы чтобы на выходе получить правильный массив данных со вложенными уровнями?
Данные в форму доставляются вот таким страшным аяксом
$.ajax({
type: "POST",
dataType: 'json',
async: false,
url: '/show_subcat',
data: {id_cat: id_cat,is_user:1}, // serializes the form's elements.
success: function (data) {
if(data.message=='null'){
//проверить чтобы соседние последующие блоки были пусты
$('input[name="id_cat"]').val(data.value.id)
$('.cat_name').val(data.value.info.name)
alert('меняется категория')
//достать все свойства категории и отобразить в блоке #properties
$.ajax({
type: "POST",
dataType: 'json',
async: false,
url: '/show_property_by_category',
data: {id_cat: data.value.id}, // serializes the form's elements.
success: function (dataprop) {
$('#properties').empty();
$.each( dataprop, function( k, prop ) {
//alert(prop.name)
/* prop_array = prop.data.split(',');*/
$('#properties').append(' <div style="border-right:1px solid #000;border-left:1px solid #000" class="prop col-md-3" >' +
'<input type="hidden" value="'+prop.id+'">' +
' <div><h3 style="text-align:center;margin-top:10px;">'+prop.name+'</h3></div>'
+'<div id="prop_datas_'+k+'" class=""></div>'+
'</div>')
$.each( prop.data, function( v, dat ) {
//alert(dat.data)
$('#prop_datas_'+k).append('<div><div class="i-checks"><label> <input type="radio" value="'+dat.id+'" name="a_'+prop.id+'"> <i></i> '+dat.data+'</label></div></div>');
});
$('.i-checks').iCheck({
checkboxClass: 'icheckbox_square-green',
radioClass: 'iradio_square-green',
});
});
}
});
//если (data.value.info.parent_num) ==2
//удалить 3,4
// если (data.value.info.parent_num) ==3
//4
if(data.value.info.parent_num==2){
$('.cat_block_3').empty();
$('.cat_block_4').empty();
}
else if(data.value.info.parent_num==3){
$('.cat_block_4').empty();
}
}
else{
$('.'+new_block_cl+'').empty();
switch(new_block_cl){
case 'cat_block_2':
$('.cat_block_3').empty();
$('.cat_block_4').empty();
break;
case 'cat_block_3':
$('.cat_block_4').empty();
break;
}
$.each( data.value, function( key, value ) {
$('.'+new_block_cl+'').append(' <a ><div class="cat_block" >' +
'<input type="hidden" value="'+value.id+'">' +
value.name+
'<span class="fa arrow" style="float:right"></span>' +
'</div></a>')
});
}}
});