如何在 jQuery 中选择特定的表单元素?
我有两个这样的表单:
<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 字段中插入文本。我正在使用 以下 jQuery 代码,但它填充了 form1< 的 name 字段/强>。
$("#name").val('Hello World!');
那么如何只选择特定的表单元素呢?
I have two form like this:
<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>
Now I want to insert text in name field of form2. I am using following jQuery code but it fill name field of form1.
$("#name").val('Hello World!');
So how to select specific form elements only?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
两次使用相同的 ID 是无效的,这就是为什么
#name
只能找到第一个 ID。您可以尝试:
或者,
如果您遇到无效页面并想要选择所有
#name
,您可以使用 id 上的属性选择器:It isn't valid to have the same ID twice, that's why
#name
only finds the first one.You can try:
Or,
If you're stuck with an invalid page and want to select all
#name
s, you can use the attribute selector on the id:我更喜欢 #form2 的 id 后代选择器,如下所示:
http://api.jquery.com/后代选择器/
I prefer an id descendant selector of your #form2, like this:
http://api.jquery.com/descendant-selector/
虽然它是无效的 html 但您可以使用选择器上下文来限制您的选择器
在你的情况下,它会像:
$("input[name='name']" , "#form2").val("Hello World! ");
http://api.jquery.com/jquery/#selector-context
although it is invalid html but you can use selector context to limit your selector
in your case it would be like :
$("input[name='name']" , "#form2").val("Hello World! ");
http://api.jquery.com/jquery/#selector-context
我知道问题是关于设置输入,但以防万一你想设置一个组合框(我在网上搜索它但没有找到任何东西,这个地方似乎是指导其他人的正确地方)
如果你有一个带有以下内容的表单ID属性集(例如frm1)和
你想设置一个特定的组合框,没有设置ID,但设置了名称属性(例如区);然后使用
I know the question is about setting a input but just in case if you want to set a combobox then (I search net for it and didn't find anything and this place seems a right place to guide others)
If you had a form with ID attribute set (e.g. frm1) and
you wanted to set a specific specific combobox, with no ID set but name attribute set (e.g. district); then use