2

我找到了很多关于我的问题的答案,但问题没有解决

我有表格,有数据,例如:

<table>
    <tr>
        <td class="editable"> <a id="query" href="#"> Data 1 </a> </td>
        <td class="editable"> <a id="text"  href="#"> Data 2 </a> </td>
        <td class="editable"> <a id="foo"   href="#"> Data 3 </a> </td>
        <td class="editable"> <a id="bar"   href="#"> Data 4 </a> </td>
    </tr>
    <tr>
        <td class="editable"> <a id="query" href="#"> Data 1 </a> </td>
        <td class="editable"> <a id="text"  href="#"> Data 2 </a> </td>
        <td class="editable"> <a id="foo"   href="#"> Data 3 </a> </td>
        <td class="editable"> <a id="bar"   href="#"> Data 4 </a> </td>
    </tr>
</table>

我需要:

对于此表中的每一行,获取当前行中 id="query" 和 id="foo" 的链接的值并发送 ajax 查询

我尝试这样做:

    $("#detect_rel").click(function(){
        $('tr').each(function() {
            // ajax to: ajax.php?query=xxxx&data=&xxxxx
        });
    });

但是对于当前行,我无法获得两者的<a id="query"...内部文本<a id="foo"...

我试过这样的事情:

$('tr').each(function() {
    var cols = $('.1, .2', this);
    // do something with cols
});

但这无济于事,因为我无法(mb没有足够的js知识)获取当前行的内部文本<a id="query"...和两者<a id="foo"...

伪代码:

获取行

get value of link in column_one and column_two

send ajax query

获取下一行

ETC

注意:<a href...在每个单元格,需要'bootstrap x editable',并且因为它,我需要在每个链接上使用 id


问题已解决,谢谢各位

4

1 回答 1

5

在 HTML 中,ID 必须是唯一的,而类可以在页面中出现多次。按照您的要求,您的 HTML 应如下所示:

<table>
    <tr>
        <td class="editable"> <a class="query" href="#"> Data 1 </a> </td>
        <td class="editable"> <a class="text"  href="#"> Data 2 </a> </td>
        <td class="editable"> <a class="foo"   href="#"> Data 3 </a> </td>
        <td class="editable"> <a class="bar"   href="#"> Data 4 </a> </td>
    </tr>
    <tr>
        <td class="editable"> <a class="query" href="#"> Data 1 </a> </td>
        <td class="editable"> <a class="text"  href="#"> Data 2 </a> </td>
        <td class="editable"> <a class="foo"   href="#"> Data 3 </a> </td>
        <td class="editable"> <a class="bar"   href="#"> Data 4 </a> </td>
    </tr>
</table>

你的 jQuery 代码应该做这样的事情:

$('#detect_rel').click(function() {
    $('tr').each(function(i, el) {
        var query = $(el).children('td').children('.query').text();
        var text = $(el).children('td').children('.text').text();
        //$.ajax (do your AJAX call here using values of query and text
    });
});

我刚才在 JSFiddle 上测试了这段代码,它可以工作。

演示:http: //jsfiddle.net/Pt2Vd/

于 2013-07-09T23:38:01.910 回答