0

问题很简单。我在 HTML 中有类似棋盘的东西。字段具有坐标,存储在 ID 属性 (ROW|COLUMN) 中单击特定字段使其标记/取消标记。<input type="hidden"/>更重要的是,所选字段的行和列以ROW|COLUMN,ROW|COLUMN,...的形式存储在a中

对于每次点击,我都必须处理 input hidden 的值,以检查该字段是否已存储、添加新字段、删除现有字段等。这有点尴尬。有没有更好的方法?或者也许这是最好的方法?:)

4

1 回答 1

0

您不必将字段状态存储在输入字段中。最好使用全局 JavaScript 数组或操作 DOM 并在将其发送到服务器之前对其状态进行序列化。

这是 JSFiddle 中的一些示例代码:http: //jsfiddle.net/U2D9Q/

重要的部分是列的类名

$td.bind("click", function(e) {
    $(this).toggleClass("selected");
});

以及单击按钮时它是如何序列化的

var serialize_table = function() {
    var output = new Array();

    $("table tbody").children().each(function(y) {
        var row = new Array();

        $(this).children().each(function(x) {
            row[x] = $(this).get(0).className;
        });

        output[y] = row;
    });

    return output;
}

我使用 jQuery 来保持代码整洁。随意使用您喜欢的任何 JS 框架或编写原生 JS。

于 2012-07-22T09:03:17.963 回答