Быстрый вопрос…
У меня есть поле ввода, которое при вводе ключа добавляет значение в неупорядоченный список. Как передать этот неупорядоченный список в 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'/>