-1

ページにいくつかのテーブルがあり、すべての列値を取得してコンマ区切りの文字列で保存するためにループを実行する必要があります(これらの文字列をASP.NETページの非表示フィールドに渡します)。たとえば「Route1」テーブルから列の値を読み取れるようにループを作成するにはどうすればよいですか。残念ながら、ユーザーが(jQuery)を使用して1つのテーブルから別のテーブルにシャッフルできるという理由だけで、TRとTDの#IDに依存することはできません。

簡単に言うと、次の表の列の値を読み取るループを作成するにはどうすればよいですか。

<table ID = "Route1">
    <tr>
        <td>row 1 col1</td> <td> row1 col2 </td>
    </tr>
    <tr>
       <td>row 1 col1</td> <td> row1 col2 </td>
   </tr>
</table>


<table ID = "Route2">
    <tr>
        <td>row 1 col1</td> <td> row1 col2 </td>
    </tr>
    <tr>
        <td>row 1 col1</td> <td> row1 col2 </td>
    </tr>

</table>
4

4 に答える 4

2

これを試して:

var str = $("table:first").find("td").map(function(){
               return $(this).text()
          }).get().join(',')

デモ

于 2012-07-24T21:48:16.530 に答える
1
var values = [];

$('#Route1 td').each(function () {
    values.push( $(this).text() );
});

var myString = values.join(',');

デモ: http: //jsfiddle.net/2xpFZ/

于 2012-07-24T21:48:26.803 に答える
0
$('#Route1 td').map(function() {
  return $(this).text();
}).get().join(',')

ただし、プレーンなJavaScriptループの方がはるかにパフォーマンスが高くなります。

于 2012-07-24T21:55:33.307 に答える
0

プレーンなJavaScriptでそれを行う方法は次のとおりです。

function getTableCells(id) {
    var data = [];
    var cells = document.getElementById(id).getElementsByTagName("td");
    for (var i = 0; i < cells.length; i++) {
        data.push(cells[i].innerHTML);
    }
    return(data.join(","));
}

var str = getTableCells("Route1");
于 2012-07-24T22:12:32.057 に答える