Быстрый вопрос...
У меня есть поле ввода, которые на ключ входят, добавляет значение к незаказанному списку. Как я передал бы этот незаказанный список сообщению jQuery? Я использую form.serialize, таким образом, я не должен определять каждую переменную для регистрации.
Пример, скажем, я ввел 3 фруктов, и они динамично добавляются к незаказанному списку в форме.
Фрукты: [входной текст здесь]
- Apple
- Банан
- Груша
Я думал о создании скрытого текстового поля, которое заполнит с новым значением каждый раз, пользователь нажал Enter.
Какие-либо другие мысли?
<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
с именем fruit
с этим значением.
Что-то вроде этого (динамическое построение содержимого ul):
<html>
<head>
<title>S.O. 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'/>