如何在jQuery中select特定的表单元素?
我有两个这样的forms:
<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的 名字字段中插入文本。 我正在使用以下jQuery代码,但它填充form1的 名称字段。
$("#name").val('Hello World!');
那么如何只select特定的表单元素呢?
两次使用相同的ID是无效的,这就是为什么#name
只能find第一个。
你可以试试:
$("#form2 input").val('Hello World!');
要么,
$("#form2 input[name=name]").val('Hello World!');
如果你遇到了一个无效的页面,想要select所有的#name
,你可以使用ID:
$("input[id=name]").val('Hello World!');
虽然它是无效的HTML,但你可以使用select器上下文来限制你的select器在你的情况下,它会是这样的:
$("input[name='name']" , "#form2").val("Hello World! ");
我更喜欢#form2的id后代select器,如下所示:
$("#form2 #name").val("Hello World!");
我知道这个问题是关于设置一个input,但万一如果你想设置一个combobox然后(我searchnetworking,没有find任何东西,这个地方似乎是一个正确的地方引导别人)
如果你有一个ID属性设置的表单(例如frm1),并且你想设置一个特定的combobox,没有ID设置,但名称属性设置(例如区); 然后使用
$("#frm1 select[name='district'] option[value='NWFP']").attr('selected', true);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script> <form id="frm1"> <select name="district"> <option value="" disabled="" selected="" hidden="">Area ...</option> <option value="NWFP">NWFP</option> <option value="FATA">FATA</option> </select> </form>
$("#name", '#form2').val("Hello World")