0

我需要一种算法,它只调用一行中的文本。

我的 td 由数字和文本组成,我只想要“td”中的文本。

演示:http: //jsfiddle.net/3yYFY/1

例如:

在第二行= accure,鳄鱼,獾

第三行= 斑马、大象

我的表中有很多行(td),文本不在特定列中

HTML:

    <table id="docsTable">
    <tr bgcolor="#E7DDCC" class="liste-0">
        <td align="center"><input type="checkbox"/></td>
        <td>Document Title 1</td>
        <td>567</td>
    </tr>
    <tr bgcolor="#E7DDCC">
        <td align="center"><input type="checkbox"/></td>
        <td>accure</td>
        <td>134</td>
        <td>alligator</td>
        <td>badger</td>
    </tr>
    <tr bgcolor="#E7DDCC">
        <td align="center"><input type="checkbox"/></td>
        <td>Zebra</td>
        <td>231</td>
        <td>Elephant</td>
    </tr>
</table>
<input type='button' id='btnTest' value='Get Rows' />

jQuery :

$(function() {
    $('#btnTest').click(function() {
        var arr = $('#docsTable tr').has('input[type="checkbox"]:checked').map(function() {
            alert($('td:eq(1)', this).text())
        });

    });
});​
4

2 回答 2

2

最终更新

使用这个:http: //jsfiddle.net/uJdj9/2/

$(function() {
    $('#btnTest').click(function() {
        var arr = $('#docsTable tr').has('input[type="checkbox"]:checked').map(function() {
            var text = "";
            $(this).find('td').each(function(){
                var txt = $(this).text();
                if(txt && !txt.match(/\d/g))
                  text += txt + ', ';
            })
            text = text.replace(/,([^,]*)$/,'');
            alert(text);
        });

    });
});​

或者,如果您知道要丢弃的 td 是这样的:

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

  $(function() {
    $('#btnTest').click(function() {
        var arr = $('#docsTable tr').has('input[type="checkbox"]:checked').map(function() {
            var text = "";
            $('td',this).not(':eq(2)').each(function(){
                text += $(this).text()?$(this).text() +', ':'';
            })
            alert(text);
        });

  });
});​
于 2012-11-22T13:42:06.677 回答
1

试试这个代码

$(function() {
$('#btnTest').click(function() {
    var arr = $('#docsTable tr').has('input[type="checkbox"]:checked').map(function() {
        alert($('td', this).text())
    });

});

});​</p>

http://jsfiddle.net/3yYFY/4/

于 2012-11-22T13:39:38.567 回答