我有一个<table>
和一些行(根据查询运行而有所不同)我可以在一个单选按钮和一些<th>
和一个<input>
,我想抓住<input>
1}}进一步处理的价值所以请指导我
我的HTML代码
<tr>
<th>
<input type="radio" name="assignRadio">
</th>
<th> <?= $nearestResponders[ $i ]->get('firstName') . " " . $nearestResponders[ $i ]->get('lastName'); ?></th>
<th> <?= $companyName; ?></th>
<th> <?= $nearestResponders[ $i ]->get('contactNumber'); ?></th>
<th> <?= $presentCity; ?></th>
<th><?= $distanceInKM; ?></th>
<input class="selectedResponder" type="hidden" value="<?= $nearestResponders[ $i ]->getObjectId(); ?>">
</tr>
</table>
我的jQuery代码
$('input[name=assignRadio]').on('change',function(){
console.log($(this).val());
console.log($(this).next('.selectedResponder').val());
console.log($(this).closest('.selectedResponder').val());
console.log($(this).find('.selectedResponder').val());
});
你可以看到我尝试了一些方法来获得价值,但失败了所以请告知
答案 0 :(得分:1)
您的问题是由于您必须遍历DOM以查找目标元素的方式。它不是单选按钮的兄弟或父母,因此您尝试过的方法都不起作用。
相反,你可以使用closest()
找到最近的公共父,tr
,然后find()
从那里找到元素,如下所示:
$('input[name=assignRadio]').on('change', function() {
var $selectedResponder = $(this).closest('tr').find('.selectedResponder');
console.log($selectedResponder.val());
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table>
<tr>
<th>
<input type="radio" name="assignRadio">
</th>
<th>Firstname Lastname</th>
<th>Company name</th>
<th>Contact number</th>
<th>Present city</th>
<th>Distance</th>
<input class="selectedResponder" type="hidden" value="foo">
</tr>
<tr>
<th>
<input type="radio" name="assignRadio">
</th>
<th>Firstname Lastname</th>
<th>Company name</th>
<th>Contact number</th>
<th>Present city</th>
<th>Distance</th>
<input class="selectedResponder" type="hidden" value="bar">
</tr>
</table>
&#13;
答案 1 :(得分:0)
这应该有效:
$('input[name="assignRadio"]').on('change',function(){
console.log($('.selectedResponder').val());
});