Я работаю над этим jsFiddle:Вывод JSON объект из неупорядоченного списка с JQuery
Я хочу, чтобы опубликовать порядок элементов списка и связанных с ними ID по форме передать на сервер в виде JSON, но я не уверен, с чего начать.
Я работаю над этим jsFiddle:Вывод JSON объект из неупорядоченного списка с JQuery
Я хочу, чтобы опубликовать порядок элементов списка и связанных с ними ID по форме передать на сервер в виде JSON, но я не уверен, с чего начать.
Поскольку вы добавляете буквальные цитаты в строку. Вместо "indexPos": '"' + nodeIndex + '"'
просто используйте "indexPos": nodeIndex
.
Добились этого (вроде) здесь:
За исключением, если вы видите в предупреждении он выводит обратную косую черту, и я не знаю, почему:
[{"prodId":"item1","indexPos":"\"1\""},{"prodId":"item2","indexPos":"\"2\""},{"prodId":"item3","indexPos":"\"3\""},{"prodId":"item4","indexPos":"\"4\""}]
Это может быть более короткий подход - я завернул ваш текст в промежутке и добавил к нему класс «контекста». Тогда я могу использовать селекторы намного проще вытащить данные в JSON-ized объект.
Вот изменение, которое я сделал в HTML (просто образец одного из элементов LI):
<li>
<span class="up">Up1</span>
<span class="down">Down1</span>
<span class="content">Item 1</span>
</li>
Не уверен, что если вы можете обернуть его в пролете или нет, но я думал, Я бы попробовал.
Моей обновленной скрипки здесь: http://jsfiddle.net/Tn97g/
Вот моя кнопка обработчики события нажатия:
$("#submit").click(function() {
var items=$("#reOrder li");
var tosubmit=[];
$(items).each(function(index, e){
var nextItem = { "id": e.id, "val" : $(e).find(".content").text() };
tosubmit.push(nextItem);
});
alert(JSON.stringify(tosubmit));
});
Это немного более кратким, но я не уверен, что именно вы хотите сделать. Надеюсь, это поможет!!
Это должно быть редактирование, поскольку на самом деле это не ответ. – RoToRa