0

我有以下 HTML 表:

<table class="display" style="width: 1000px;" id="failoverServers">
    <thead>
        <tr>
            <th class="row_selector_head"> <input type='checkbox' class='select_all_chkbx'/></th>
            <th><div>{% trans "IP ADDRESS" %}</div></th>
            <th><div>{% trans "VIRTUAL IP ADDRESS" %}</div></th>
            <th><div>{% trans "USERNAME" %}</div></th>
            <th><div></div></th>
        </tr>
    </thead>

    <tbody>
    {% for i in list %}
        <tr rel="{{ i.id }}">
            <td class="row_selector"><input type='checkbox'/></td>
            <td rel="ip">{{ i.ipAddress }}</td>
            <td rel="virtualIP">{{ i.virtualIpAddress }}</td>
            <td rel="username">{{ i.username }}</td>

        </tr>
    {% endfor %}

    </tbody>
</table>

如果我执行以下操作:

var list = "";
            $('#failoverServers td.row_selector.selected').each(function() {
            var row = $(this).closest('tr');
            var id = row.attr('rel');
            list += id + " ";           
        });

然后我在第一个复选框列中有一个数字列表。

我想从表中获取以下列表:

<td rel="ip">{{ i.ipAddress }}</td>

我为此使用什么 jquery 选择器?

谢谢

4

3 回答 3

0

尝试这个:

var list = [];

$('#failoverServers td.row_selector.selected').each(function() {
    var row = $(this).closest('tr');
    list.push($(row).children("td[rel=ip]")[0].text());
});
于 2013-02-05T18:50:09.537 回答
0

感谢所有的评论。我有以下工作:

 var list = [];
  $('#failoverServers td.row_selector.selected').each(function() {
        var row = $(this).closest('tr');
        var serverIp = row.find('td[rel=ip]').text();
        list += serverIp + " ";         
    });

我想要做的是从表中获取所有 ip 项目,无论它们是被选中的还是现在(只是得到它们)我该怎么做?

于 2013-02-05T19:19:56.487 回答
0

这是您的工作示例(静态以便我可以测试)。相应地放置您的模板占位符并更改您的标记(如果您想成为标准兼容):您的表头包含 5 个单元格,但行中的 td 只有 4 个,不应将 div 放置在 td s 中 - 我的 IDE 正在尖叫 :)而这些'rel's - 你为什么使用它们 - rels 应该在链接中使用。我认为“id”和“class”足以实现您需要的一切(“id's”用于独特元素,“class”用于您想要的任意数量)。

<!DOCTYPE html>
<html>
    <head>
        <title></title>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <script src="jquery181min.js" type="text/javascript"></script>
        <script>

        $(document).ready(function(){

        var values = '';    
            $('input:checkbox:checked.row_selector').parent().siblings(".ip").each(function() {
            values += '  ' + $(this).text();    
            });

        console.log(values);
        });    

        </script>
    </head>
    <body>

        <table class="display" style="width: 1000px;" id="failoverServers" border =1>
        <thead>
            <tr>
                <th class="row_selector_head"> <input type='checkbox' name="name" value="asdf" class='select_all_chkbx' checked="checked"/></th>
                <th>IP Address</th>
                <th>Virtual Ip Address</th>
                <th>Username</th>
            </tr>
        </thead>

        <tbody>
            <tr id="id1">
                <td><input class="row_selector" type='checkbox' name="name" value="val1" checked="checked" /></td>
                <td class="ip">123.123.123.123</td>
                <td class="virtualIP">55.55.55.55</td>
                <td class="username">Jean Valzean</td>
            </tr>
            <tr id="id2">
                <td><input class="row_selector" type='checkbox' name="name" value="val2"/></td>
                <td class="ip">125.125.125.124</td>
                <td class="virtualIP">22.22.22.22</td>
                <td class="username">Peter Meter</td>
            </tr>
                    <tr id="id3">
                <td><input class="row_selector" type='checkbox' name="name" value="val3" checked="checked" /></td>
                <td class="ip">192.168.33.24</td>
                <td class="virtualIP">33.33.33.33</td>
                <td class="username">Joe Schmoe</td>
            </tr>
        </tbody>
        </table>
    </body>
</html>

结果是: jquery选中的td数据检索结果

于 2013-02-06T09:22:08.137 回答