0

我在下面有这个 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());

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

4

3 回答 3

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()级上的元素,而不是本身(没有兄弟姐妹)。inputinput

请注意如何$(this)在事件处理程序内部使用来引用所选元素,而不是$("input[name='CFGID']:checked"). 另请参阅我如何通过 使用事件委托on(),因为将同一事件绑定到多个元素是不好的做法。

阅读on(), parent(), nextAll(),map()get()查看它们的用途。

于 2012-05-04T13:55:56.987 回答
0

试试这个:

 var texts = [];

 $("input[id='createRad']:checked").siblings("td").each(function(i, v){
     texts[i] = $(this).text()        
 });
于 2012-05-04T13:57:57.027 回答
0
$("input[name='CFGID']").on('change', function() {
    console.log($(this).parent().nextAll('td').text());
});
于 2012-05-04T14:04:02.460 回答