我正在尝试根据对另一个表单字段“idVerification”的更改来更改一个表单字段“idSerialNo”的状态,但是我很难访问正确的元素,因为页面上有三个表单。
每个 for 的相关部分如下所示:
// Input 1, a select element
<div id="sigIDVerification_field" class="clearfix ">
<label for="sigIDVerification"> … </label>
<div class="input">
<select id="sigIDVerification" class="span5 selectpicker sortable idVerification" name="sigIDVerification" style="display: none;"> … </select>
<div class="btn-group bootstrap-select span5 sortable idVerification"> … </div>
<span class="help-inline"></span>
<span class="help-block"></span>
</div>
</div>
// Input 2, a text input
<div id="sigIDSerialNo_field" class="clearfix ">
<label for="sigIDSerialNo"> … </label>
<div class="input">
<input id="sigIDSerialNo" class="span5 idSerialNo" type="text" value="" name="sigIDSerialNo"></input>
<span class="help-inline"></span>
<span class="help-block"></span>
</div>
</div>
请注意,选择元素上的包装是由于自定义皮肤。
我正在尝试为select.idVerification
三种表单中的每一个的元素注册一个事件侦听器。When the select element is changed, I want to check if it is the default value, if so hide the the div block (here div#sigIDSerialNo_field
) and set the value of input.idSerialNo
to ""
; 如果选择元素的值不是默认值,它将取消隐藏div#sigIDSerialNo_field
,如果它是隐藏的。我的问题是每个要显示/隐藏的 div 的 id 都会不同,并且不受我的控制。
我想要做的是.idSerialNo
在此之后选择下一次出现.idVerification
,然后我可以获得.idSerialNo
元素的祖父母。但是,我发现.next()
它只适用于直接兄弟姐妹,所以我不能使用它。
有没有办法可以实现我的目标?