我正在尝试获取与类检查匹配的第一个父元素,但我遇到了问题。我的页面可能如下所示:
<input id="hidden1" type="hidden" value="5" class="includeds">
<h3>header</h3>
<ul class="groups">
<li><input id="li1" type="checkbox" value="1" onclick="value()"></li>
<li><input id="li2" type="checkbox" value="2" onclick="value()"></li>
<li><input id="li3" type="checkbox" value="3" onclick="value()"></li>
</ul>
<input id="hidden2" type="hidden" value="3" class="includeds">
<h3>header2</h3>
<ul class="groups">
<li><input id="li4" type="checkbox" value="4" onclick="value()"></li>
<li><input id="li5" type="checkbox" value="5" onclick="value()"></li>
<li><input id="li6" type="checkbox" value="6" onclick="value()"></li>
</ul>
因此,如果我点击复选框li1
,我想从其上方的隐藏字段中检索值"5"
。
如果我点击li5
,我想从其上方的第一个隐藏字段获取"2"
的值等等。
我正在尝试这个(在value()函数内),但是它不起作用,我一直收到一个未定义的错误。
var thevalue = $(this).closest(".includeds").value);
或
var thevalue = $(this).closest(".includeds").attr("value").toString());
我不明白为什么他们不工作,有什么想法?谢谢你的帮助。
答案 0 :(得分:6)
我使用了你的标记:
var value = $(this).closest('ul').prevAll('.includeds:first').val();
答案 1 :(得分:-2)
试试这个:
var thevalue = $(this).closest("a .includeds")).val();