【发布时间】:2013-05-14 14:06:58
【问题描述】:
我有这个 HTML 标记:
<div>
<ul>
<li>
<div id="FieldWrap18" class="fieldSettings full" data-dependent="{19}" data-dependson="">
<input id="Field_0_18" name="Field_0_18" type="checkbox" value="true">
<input name="Field_0_18" type="hidden" value="false">
Yes
</div>
</li>
<li>
<div id="FieldWrap19" class="fieldSettings full" data-dependent="" data-dependson="">
<input id="Field_0_19" name="Field_0_19" type="checkbox" value="true">
<input name="Field_0_19" type="hidden" value="false">
No
</div>
</li>
</ul>
</div>
我正在尝试使用此选择器选择“是”字段(我必须使用 data-dependent 属性)
$('div:not([data-dependent=""]) input:not([type="hidden"])').on('change', function () {
alert('Yep!');
});
但是它选择了两个input 字段。如何只选择non-empty data-dependent non-hidden input?这是带有非工作代码的jsFiddle。我知道选择器中断是因为父 div 甚至没有 data-dependent 属性,但我不知道如何构造我的选择器以在抓取具有该属性的 div 时忽略该 div。感谢您的帮助。
【问题讨论】:
-
您为什么担心隐藏输入上的忽略
change事件?通常没有什么会触发隐藏输入上的事件。 -
这是一个很好的观点,我想我是出于绝望想办法让它发挥作用......