如何使用jquery获取单选按钮选择的td值?

时间:2012-05-04 13:53:00

标签: jquery

我在下面有这个div,在选择CFGID单选按钮时,我应该可以获得相同的行值。例如:testDevindi等值

<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());

但它让我空虚。请帮我拿取每个值。感谢

3 个答案:

答案 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()使用事件委派,因为将同一事件绑定到多个元素是不好的做法。

阅读on()parent()nextAll()map()get(),了解其用途。

答案 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());
});