Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 19.01.2012, 16:04
Аспирант
Отправить личное сообщение для Viper Посмотреть профиль Найти все сообщения от Viper
 
Регистрация: 27.09.2008
Сообщений: 88

Обработка массива элементов формы и сохранение
Есть строки таблицы(строй может быть много)

<tr class="actors_list_row">
	<td align="center">
		<input type="text" name="actor[0][actor_name]" class="input-actor" value="" size="70" />
		<input type="hidden" name="actor[0][actor_id]" class="input-actor-id" value="" />
	</td>
	<td align="center"><input type="text" name="actor[0][role]" class="input-role" value="" size="70" /></td>
	<td align="center">
		<input type="text" name="actor[0][dub_name]" class="input-dub" value="" size="70" />
		<input type="hidden" name="actor[0][dub_id]" class="input-dub-id" value="" />
	</td>
	<td>
		<a href="javascript:void(0);" class="del_row"><img src="/assets/images/icons/delete.png" border="0" /></a>
	</td>
</tr>


Нужно получить массив вида
var actors = {"actors": {
	"row1": { "a1":"b1", "c1":"d1", "e1":"f1", "g1":"h1", "i1":"j1" },
	"row2": { "a2":"b2", "c2":"d2", "e2":"f2", "g2":"h2", "i2":"j2" }
}};


Пока остановился на этом

var arr = {"actors": {}};
var elems = {};
$.each($('.actors_list_row'), function(k, v){
	$.each($(this).find('input'), function(key, value){
		elems[$(this).prop('name')] = $(this).val();

		return elems;
	});
	arr.actors['row_'+k] = elems;
});

Проблема в том что данные дублируются. Т.е. получается
var actors = {"actors": {
	"row1": { "a1":"b1", "c1":"d1", "e1":"f1", "g1":"h1", "i1":"j1", "a2":"b2", "c2":"d2", "e2":"f2", "g2":"h2", "i2":"j2" },
	"row2": { "a1":"b1", "c1":"d1", "e1":"f1", "g1":"h1", "i1":"j1", "a2":"b2", "c2":"d2", "e2":"f2", "g2":"h2", "i2":"j2" }
}};


Вопрос номер 2.
Можно ли для временного хранения использовать $.data() для input'а формы или лучше пересобирать в json-строку и сохранять как value поля?
Как лучше преобразовать такой массив в строку json дабы потом передать на сервер обычным POST?
PS! Пробовал json2, но массив корявится и в результате {name:"a1", value:"b1"...}/ Мне же важно сохранить имена полей как ключи.
Ответить с цитированием
Ответ


Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Доступ к значениям элементов формы модального окна. =VNK= jQuery 5 14.01.2012 16:00
Обработка элементов в dijit.Dialog Белый Тигр Dojo toolkit 5 13.10.2011 18:31
Вывод переменного по количеству элементов массива из json ArmagedDance Элементы интерфейса 4 08.06.2011 10:45
вставка элементов массива в текстовую форму по клику olezyk Общие вопросы Javascript 3 21.03.2009 22:01
формирование обьекта или массива на основе полей формы birst Общие вопросы Javascript 1 05.12.2008 17:50