更新与输入相关联的DB值元素的值发生变化时

Update the DB value associated with an <input> element when its value changes

本文关键字:元素 变化 DB 输入 关联 更新      更新时间:2023-09-26

我试着做这样的东西http://jsfiddle.net/4e756/

$(document).ready(function(){
    $('input[type=text]').keyup(function(){
       var c=0;
       var a=$(this).attr('name'); //a is string
        //if var a change..a=a(old)+a(new) and c++; than i will
        //explode string and use it for ajax POST
    });
});

每次var a改变时,我想用它的值增加另一个变量。这将允许我保存每个更改的<input>的名称。

a变量设为全局变量并添加到其中

$(document).ready(function(){
var a=''; // initialize it as global and an empty string
$('input[type=text]').click(function(){
   var c=0;
  a = a + $(this).attr('name'); //a is string
    //if var a change..a=a(old)+a(new) and c++; than i will
    //explode string and use it for ajax POST
});
});

jsFiddle演示

change处理程序的作用域之外创建一个映射。这个处理程序只有在对字段的所有更改完成后才会被触发,而不是在每次keyup时都被触发。这将允许您存储更改的所有字段的名称和更新值。然后,您可以将其POST到服务器,或者处理它并仅POST一个子集(如果需要)。

因为是映射,所以键是唯一的。这意味着,如果您多次更改一个字段,它仍然只会在映射中出现一次,并使用其最新值。

$(document).ready(function(){
    var changedFields = {};
    $('input[type=text]').change(function(){
       changedFields[this.name] = $(this).val();
    });
});