每次更改输入(其名称在数组中定义)时运行函数

时间:2013-01-11 15:03:41

标签: javascript arrays input

我正在尝试将其设置为当用户在页面上有未保存的设置时会显示警告。

到目前为止,我已经在页面加载时添加了一个JSON对象,从那里我抓住了一个对象键数组。

接下来,我需要检查所有选项是否与JSON对象中指定的设置相同(我假设我可以通过循环执行此操作)每次更改其中一个设置 - 我不知道知道怎么做,从我拥有的键数组,每次改变其中一个名称的输入时运行JS函数。欢迎任何建议。这是我到目前为止(有两个以上的选项,只是从这里删除以节省空间)。

JSON对象 -

var front_page_admin_args = {"image_type":"rotate","slideshow_pagination":null};

制作按键数组 -

var keys

try{ // Using Try/Catch as some older browsers do not support 'Object.keys()'
    keys = Object.keys(front_page_admin_args);
}
catch(err){
    var keys = $.map(front_page_admin_args, function(value, key){
        return key;
    });
}

1 个答案:

答案 0 :(得分:1)

当页面上的任何输入发生变化时,此代码将运行给定的嵌入式函数。在里面你可以检查这个输入是否对你有意义。

var watchedKeys = ['email', 'password'];
$('input').change(function(e) {
  if (watchedKeys.indexOf(e.target.name) != -1) {
    alert(e.target.name + " has changed. new value:" + e.target.value);
  }
});