我在下面有这个div,在选择CFGID
单选按钮时,我应该可以获得相同的行值。例如:testDev
,indi
等值
<div id="updateFormDiv">
<table class="tableForms">
<tbody>
<tr>
<th class="tableHeading"></th>
<th class="tableHeading">Name</th>
<th class="tableHeading">Host Name</th>
<th class="tableHeading">Description</th>
<th class="tableHeading">Type</th>
<th class="tableHeading">Last Update Time</th>
</tr>
<tr>
<td><input type="radio" name="CFGID" id="CFGID" value="11579"></input></td>
<td>testDev</td>
<td>indi</td>
<td>testDev</td>
<td>Development</td>
<td>Fri Apr 26 04:31:40 IST 2012</td>
</tr>
</tbody>
</table>
</div>
所以点击按钮我写了这个
alert($("input[name='CFGID']:checked").next().text());
但它让我空虚。请帮我拿取每个值。感谢
答案 0 :(得分:5)
尝试这样的事情;
$(document).on('change', ':radio[name="CFGID"]', function () {
var arOfVals = $(this).parent().nextAll().map(function () {
return $(this).text();
}).get();
});
arOfValues
将是一个数组,例如['testDev', 'indi', 'testDev', 'Development', 'Fri Apr 26 04:31:40 IST 2012']
(即该行剩余列中的文字)
您的选择器不起作用,因为包含文字的<td>
在输入的父上是next()
个元素,而不是input
本身(input
没有兄弟姐妹)。
请注意如何在事件处理程序中使用$(this)
来引用所选元素,而不是$("input[name='CFGID']:checked")
。另请参阅我如何通过on()
使用事件委派,因为将同一事件绑定到多个元素是不好的做法。
答案 1 :(得分:0)
试试这个:
var texts = [];
$("input[id='createRad']:checked").siblings("td").each(function(i, v){
texts[i] = $(this).text()
});
答案 2 :(得分:0)
$("input[name='CFGID']").on('change', function() {
console.log($(this).parent().nextAll('td').text());
});