我有两个这样的表单:
<form id='form1' name='form1'>
<input name='name' id='name'>
<input name='name2' id='name2'>
</form>
<form id='form2' name='form2'>
<input name='name' id='name'>
<input name='name2' id='name2'>
</form>
现在,我想在form2的name字段中插入文本。我使用的是following jQuery code,但它填充了form1的name字段。
$("#name").val('Hello World!');
那么如何只选择特定的表单元素呢?
发布于 2010-12-08 20:21:06
拥有相同的ID两次是无效的,这就是为什么#name
只找到第一个ID。
您可以尝试:
$("#form2 input").val('Hello World!');
或,
$("#form2 input[name=name]").val('Hello World!');
如果您遇到无效页面并希望选择所有的#name
,您可以使用id上的属性选择器:
$("input[id=name]").val('Hello World!');
发布于 2015-08-08 03:12:17
我更喜欢#form2的id后代选择器,如下所示:
$("#form2 #name").val("Hello World!");
发布于 2010-12-08 20:25:22
虽然它是无效的html,但您可以使用选择器上下文来限制您的选择器,在您的情况下,它将如下所示:
$("input[name='name']" , "#form2").val("Hello World! ");
https://stackoverflow.com/questions/4387319
复制相似问题