我在下面有这个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>
Run Code Online (Sandbox Code Playgroud)
所以点击按钮我写了这个
alert($("input[name='CFGID']:checked").next().text());
Run Code Online (Sandbox Code Playgroud)
但它让我空虚.请帮我拿取每个值.谢谢
尝试这样的事情;
$(document).on('change', ':radio[name="CFGID"]', function () {
var arOfVals = $(this).parent().nextAll().map(function () {
return $(this).text();
}).get();
});
Run Code Online (Sandbox Code Playgroud)
arOfValues然后将是一个数组['testDev', 'indi', 'testDev', 'Development', 'Fri Apr 26 04:31:40 IST 2012'](即该行的其余列中的文本)
你的选择器不起作用,因为<td>包含文本的是输入父节点next()上的元素,而不是它自身(没有兄弟节点).inputinput
请注意如何$(this)在事件处理程序内部使用引用所选元素,而不是$("input[name='CFGID']:checked").另外看看我是如何使用事件委托的on(),因为将同一事件绑定到多个元素是不好的做法.
阅读上on(),parent(),nextAll(),map()并get()看到自己的用途.