我正在处理的网页有一个“主要”表单,访问者可以在其中输入个人数据和有关第一个属性的信息。如果他/她有更多属性要记录,他/她点击“添加属性”复选框,动态生成新的(部分)表单。
我正在使用#PSL对问题How to use jQuery to add form elements dynamically的回答来构建一个可以在同一页面上重新加载和完成多次的表单。我已经能够更改输入ID和名称,以便它们都是唯一的,这一切都很有效,包括在提交时将所有信息添加到数据库。
我现在正尝试为每个表单上的某些输入添加(相同)默认值。这也需要是动态的,因为每个输入都有不同的ID。我的工作可以在JSFiddle https://jsfiddle.net/ramasaig/yrpoo6v7/上看到(用静态选择器显示,见下文)
第一个问题似乎在于jQuery选择器。如果我把它设为静态:
$('#pc2').val('PA66 6BP');
然后它将起作用(但只有在创建NEXT表单时,请参阅第二个问题)。当然,它只将默认值应用于id ='cp2'的输入。如果我尝试使用变量创建ID,例如:
$('#pc' + prop_no).val('PA66 6BP');
它失败而没有产生控制台错误。我已经使用'Inspector'查看了元素,ID就可以了,但不是值。
第二个问题是,即使我使用静态$选择器,该值也不会出现在'first'形式中,直到我创建第二个(这让我想知道第一个问题是否可能与时序有关,但我不确定如何检查这个或该做些什么。)。
所以我的问题是:
1.如何动态选择ID?
2.如何在创建表单时显示默认值。
拜托,我很感激你的帮助。