0

html テーブルの 2 つの列を Javascript 配列に格納する方法を教えてください。PHPを使用して動的にテーブルを作成します。以下は私のphpコードです。

$inc = 1;
foreach($result as $element) {
    echo "<tr><td>".$element['qs_id']."</td>";
    echo "<td>".$element['qs_desc']."</td>";
    echo "<td><input type=\"radio\" name=\"select".$inc."\" value=\"0\" ";
    if($element['qq_rate'] == '0') echo "checked=\"checked\"";
    echo "></input></td>";
    echo " <td><input type=\"radio\" name=\"select".$inc."\" value=\"1\"";
    if($element['qq_rate'] == '1') echo "checked=\"checked\"";
    echo "></input></td>";
    echo " <td><input type=\"radio\" name=\"select".$inc."\" value=\"2\"";
    if($element['qq_rate'] == '2') echo "checked=\"checked\"";
    echo "></input></td>";
    echo " <td><input type=\"radio\" name=\"select".$inc."\" value=\"3\"";
    if($element['qq_rate'] == '3') echo "checked=\"checked\"";
    echo "></input></td>";
    echo " <td><input type=\"radio\" name=\"select".$inc."\" value=\"na\"";
    if($element['qq_rate'] == '') echo "checked=\"checked\"";
    echo "></input></td>";
    echo "</tr>";
    $inc = $inc +1;
}

これにより、データベースから関連する「id」、「desc」などを html テーブルに取り込みます。次に、それぞれに一意のタグ名を付けてラジオ ボタンを書き込みます。結果は次のようになります。 ここに画像の説明を入力

最初の列に id を格納し、その関連する評価 (つまり、1,2,3,na) を Javascript 配列に格納したいと考えています。

助けてください。

4

2 に答える 2

1

jQuery が既に含まれているか、無料で使用できる場合は、次のコードを試すことができます。

var data = [];
$('table tr').each(function(){
    var row = $(this);
    var id = row.find('td:first').text();
    if ($.isNumeric(id)) {
        var selectedRadio = row.find(':radio[name=select' + id + ']:checked');
        data.push([id, selectedRadio.val()]);
    }
});
alert(data);

デモ

そうでない場合、DOM要素を反復処理するのは少し複雑になりますが、それでも実行可能です)

于 2012-12-05T11:13:01.770 に答える
0

テーブル全体をフォームに配置して、

<form id="form">
    <table>
        .. etc ..
    </table>
</form>

そして、クリック時にフォームをシリアル化します$('#form').serialize();

フィドル (pxx から分岐): http://jsfiddle.net/B5fKm/

于 2012-12-05T12:04:57.690 に答える