我正在嘗試創建一個簡單的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