我如何修改我的保存功能,既保存用户/编辑用户

How can I modify my save function to do both save user / edit user?

本文关键字:保存 用户 功能 编辑 我的 何修改 修改      更新时间:2023-09-26

我想让我的保存函数做两件事:

1。保存用户在表中-完成

2。在表中更新用户-未完成

保存函数代码:

var buildUser = function () {
    $('#save').click(function () {
        var newUser = {};
        $('#myForm').find('input[type!=button]').each(function () {
            var value = $(this).val();
            var name = $(this).attr('id');
            newUser[name] = value;
        });
        //i think here will be an if condition but i dont know how
        buildRow(newUser);
        userData.push(newUser);
        $("#myForm")[0].reset();
    });
};

完整代码如下:http://jsfiddle.net/Shakerwtd/e9273/

日期取自json文件

有很多方法可以做到这一点,你的HTML看起来像什么?

一种方法是为用户分配id。

  1. 构建id生成器服务。很简单,给一个唯一的id,就像这样:

    var GeneratorModule = (function() {

    var generator;
    function init() {
        var id = 0;
        function getId() {
            return id++;
        }
        return {
            getId: getId
        };
    }
    return  {
        getGenerator: function() {
            if(!generator) {
                generator = init();
            }
            return generator;
        }
    };
    

    });

使用idGenerator = GeneratorModule().getGenerator();

则可以使用idGenerator.getId();每次创建新的id。

  1. 让你的初始保存按钮采用该ID并将其提供给buildRow。
  2. 有buildRow也保存id在tr级别,如<tr id="tr-12345">
  3. 有保存按钮的编辑行也有这个id,如id=12345。
  4. 您的//i think here will be an if condition but i dont know how应该检查是否有保存的id。如果有,那么不要调用buildRow,而是调用updateRow。
  5. updateRow显然会找到id="tr-12345"的行。(tr-部分,因为你不能在页面上有两个相同的id,显然。)