更改与值<input />元素关联的DB值

时间:2014-07-18 21:47:56

标签: javascript jquery

我尝试制作类似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>的名称。

2 个答案:

答案 0 :(得分:3)

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
});
});

答案 1 :(得分:1)

jsFiddle Demo

创建change处理程序范围之外的地图。只有在对字段的所有更改完成后才会触发此处理程序,而不是在每个键盘上。这将允许您存储更改的所有字段的名称和更新值。然后,您可以将其POST到您的服务器,或者处理它,如果需要,只发布一个子集。

因为它是地图,所以键是唯一的。这意味着如果您多次更改某个字段,它仍会仅在地图中显示一次,并显示其最新值。

$(document).ready(function(){
    var changedFields = {};

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