0

我需要帮助将 html 表的两列存储到 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 回答