通过jQuery修改的表单 - 无法检索多个字段值

时间:2012-12-11 19:28:58

标签: jquery forms dom live each

尝试从jQuery表单中获取多个字段时遇到一些问题。

我使用表单来创建项目。任务数量未预定义,因此可以通过jQuery动态创建用于添加新任务的新表单字段:

HTML表格

<form action="#" id="createProjectForm" method="post">
<fieldset id="Project">
<label for="title">Title:</label>
<label for="title">Coordinator:</label>
<input type="text" id="coordinator" name="coordinator" placeholder="COORDINATOR" />         
<div id="tasks">
<hr/>
<label for="taskTitle">Task:</label>
<input type="text" id="taskTitle" name="taskTitle" placeholder="TASK TITLE" />
</div>
<label for="createTask"></label>            
<input type="button" id="createTask" value="ADD NEW TASK" />
<label for="submitTask"></label>            
<input type="submit" id="submitTask" value="SAVE AND CREATE PROJECT" />
</form>

JQUERY

$("#createTask").live("click",function() {                  
$('#tasks').clone().insertAfter("#tasks");
});

当我克隆div“tasks”时,我可以正确地看到两个“taskTitle”输入字段用于新任务,但在尝试获取值时(使用“each”):

JQUERY

$("#createProjectForm").live("submit",function() {
var taskTitles = "";
$("#taskTitle").each(function(){
taskTitles += $.trim($(this).val()) + ",";
console.log("Task: "+taskTitles);
});

我只是获取第一个字段的值,而不是第二个字段的值,就好像它没有正确存储在DOM中一样......

有什么建议吗? 谢谢!

1 个答案:

答案 0 :(得分:1)

当您使用id克隆项目时,克隆项目将获得相同的ID。 Jquery的id选择器只选择第一个匹配。 (见http://api.jquery.com/id-selector/