我正在尝试创建一个简单的Do来列出哪个列表中包含任务清单。jQuery追加输入元素
想法是创建完整列表,然后将其提交给服务器以将其保存在数据库中。
我希望得到输入框像下面
Array
(
[checklist] => Array
(
[0] => Array
(
[task] => Array
(
[0] =>
[1] =>
)
)
[1] => Array
(
[task] => Array
(
[0] =>
[1] =>
[2] =>
)
)
[2] =>
)
[submit] => Submit
)
干净结构,因为我需要正确的name
添加到输入框保留我收到在数据库中的结构,我将需要清点清单编号和任务编号,然后追加相同。
一个独特的例子是,当一个用户从任务列表中间删除一个输入框时,我如何保留这个数字以便增加,这样我就不会重叠input name
并丢失数据。
<!doctype html>
<html>
<head>
<meta charset="UTF-8">
<title>ToDo</title>
<script src="https://code.jquery.com/jquery-2.1.1.min.js"></script>
</head>
<body>
<form action="todo.php" method="post" name="todo">
<ul>
<li>
<input name="checklist[0]" type="text">
<ul>
<li>
<input name="checklist[0][task][0]" type="text">
</li>
<li>
<input name="checklist[0][task][1]" type="text">
</li>
</ul>
<a class="add" href="#">Add one</a> </li>
<li>
<input name="checklist[1]" type="text">
<ul>
<li>
<input name="checklist[1][task][0]" type="text">
</li>
<li>
<input name="checklist[1][task][1]" type="text">
</li>
<li>
<input name="checklist[1][task][2]" type="text">
</li>
</ul>
<a class="add" href="#">Add one</a> </li>
<li>
<input name="checklist[2]" type="text">
<ul>
</ul>
<a class="add" href="#">Add one</a> </li>
</ul>
<input name="submit" type="submit" value="Submit">
</form>
<script language="javascript">
$(".add").click(function() {
// Find the Task Count
var task_count = $(this).siblings('ul').children('li').length;
var count = $(this).siblings('ul').count;
var input = '<li><input name="checklist[][task][]" type="text"></li>';
console.log(task_count);
$(this).siblings('ul').append(input);
});
</script>
<hr/>
<pre>
<?php
print_r($_POST);
?>
</pre>
</body>
</html>
链接:http://play.mink7.com/todo.php
的代码(在页面底部)是:
$(".add").click(function() {
// Find the Task Count
var task_count = $(this).siblings('ul').children('li').length;
var count = $(this).siblings('ul').count;
var input = '<li><input name="checklist[][task][]" type="text"></li>';
console.log(task_count);
$(this).siblings('ul').append(input);
});
如果非要让说,10名列表和用户删除3,6,7,8那么项目的num是6,但最后一个是10.我怎样才能确保这是处理? – 2014-09-30 09:36:03
@HarshaMV在这种情况下,第二种选择会更好。在这种情况下列表的数量并不重要,因为命名将从0开始,或者任何您的初始值。 – 2014-09-30 10:15:10
@HarshaMV检查示例演示。 – 2014-09-30 10:29:18