当我点击.getdata
时,我想从.getdata
转到name=top
并读取所选项目的值(在这种情况下为0),但我有很难到达它。我一直都没有定义。
这是我的HTML。 div class="main"
重复,因此我不能简单地选择input[name=top]
。它必须通过遍历树到最近的input[name=top]
。有人可以做到这一点吗?我开始认为这是一个浏览器错误,因为我尝试了不同的选项,所有都给了我未定义。
<div class="main">
<div class="branch">
<div class="element">
<label>top color:</label>
<input type="radio" value="1" name="top">black
<input type="radio" value="0" name="top" checked="checked">white
<input type="radio" value="null" name="top">transparent
</div>
</div>
<div class="controls">
<a class="getdata">get data</a>
</div>
</div>
<div class="main">
....
</div>
答案 0 :(得分:4)
$('a.getdata').click(function() {
var val = $(this).closest('.main').find('input[name="top"]:checked').val();
});
在<a>
元素上放置click()
(docs)个事件
点击一下,使用closest()
(docs)方法遍历.main
元素
然后使用find()
(docs)方法以及attribute-equals-selector
(docs)和checked-selector
(docs)来获取已检查的name="top"
广播。
最后使用val()
(docs)方法获取其值。
答案 1 :(得分:1)
$(".getdata").click(function(){
selectedValue=$(this).parent().prev().children().children("input[name=top]:checked").val();
console.log(selectedValue);
});