Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jquery-ui/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何修改保存功能以同时保存用户/编辑用户?_Javascript_Jquery_Html - Fatal编程技术网

Javascript 如何修改保存功能以同时保存用户/编辑用户?

Javascript 如何修改保存功能以同时保存用户/编辑用户?,javascript,jquery,html,Javascript,Jquery,Html,我希望我的保存功能可以完成两件事: 1.在表中保存用户-完成 2.更新表中的用户-未完成 保存功能代码: var buildUser = function () { $('#save').click(function () { var newUser = {}; $('#myForm').find('input[type!=button]').each(function () { var value = $(this).val()

我希望我的保存功能可以完成两件事:

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();
    });
};
以下是完整的代码:


日期取自json文件。

有很多方法可以做到这一点,您的HTML是什么样子的

一种方法是将ID分配给用户

  • 构建一个ID生成器服务。简单的事情,只需给出唯一的id,有点像这样:

    var GeneratorModule=(函数(){

    }))

  • 您将使用idGenerator=GeneratorModule().getGenerator()获取生成器

    然后可以使用idGenerator.getId();每次构建新id时

  • 让您的初始保存按钮获取该ID,并将其提供给buildRow
  • 让buildRow也在tr级别保存id,如
  • 让编辑行的“保存”按钮也具有此id,如id=12345
  • 你的
    //我想这里会有一个if条件,但我不知道
    应该如何检查save上是否有id。如果有,则不要调用buildRow,而是调用updateRow
  • updateRow显然会找到id为=“tr-12345”的行。(
    tr-
    part,因为显然,页面上不能有两个相同的ID。)

  • 如果单击此链接,您将看到完整的代码。更新时,我会在同一位置重新创建行:-?
    var generator;
    
    function init() {
        var id = 0;
        function getId() {
            return id++;
        }
        return {
            getId: getId
        };
    }
    return  {
        getGenerator: function() {
            if(!generator) {
                generator = init();
            }
            return generator;
        }
    };