Лучший способ отправить UL через POST?

Быстрый вопрос…

У меня есть поле ввода, которое при вводе ключа добавляет значение в неупорядоченный список. Как передать этот неупорядоченный список в jquery post? Я использую form.serialize, поэтому мне не нужно определять каждую переменную для публикации.

Например, допустим, я ввел 3 плода, и они динамически добавляются в неупорядоченный список внутри формы.

Фрукты: [ввод текста здесь]

  • яблоко
  • Банан
  • Груша

Я думал о создании скрытого текстового поля, которое будет заполняться новым значением каждый раз, когда пользователь вводит ввод.

Любые другие мысли?

<ul> <li>Apple<input type='hidden' name='fruits[]' value='Apple'/></li> <li>Pear<input type='hidden' name='fruits[]' value='Pear'/></li> <li>Banana<input type='hidden' name='fruits[]' value='Banana'/></li> </ul> 

При представлении вы получите массив в $_POST именем $_POST с этими значениями.

Что-то вроде этого (динамическое построение содержимого ul):

 <html> <head> <title>SO 3287336</title> <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js"></script> <script type="text/javascript"> $(document).ready(function() { $('#add').click(function() { var li = $('<li></li>').text($('#edit').val()); $('#ul').append(li); }); $('#addForm').submit(function() { var ul = ""; $('#ul li').each(function() { ul += $(this).html() + ";" }); alert("About to submit: " + ul); return false; // don't submit }); }); </script> </head> <body> <ul id="ul"> </ul> <form id="addForm"> <input type="text" name="edit" id="edit" value=""/> <input type="button" id="add" value="Add"/> <input type="submit" id="submit-btn" value="End"/> </form> </body> </html> 

когда вы добавляете вещь динамически в свой UL, вы можете добавлять скрытые входы с именем массива, например

 <input type='hidden' name='ul[1]' value='banana'/> <input type='hidden' name='ul[2]' value='apple'/> <input type='hidden' name='ul[3]' value='pear'/>