使用jQuery查找更改的表单元素

时间:2010-06-08 20:54:21

标签: javascript jquery

我有一个表单(id =“search_options”),我跟踪表单中的更改:

    $("#search_options").change(function() { 
        // Bla Bla Bla
    });

在这种形式中我有很多输入,其中一个是select(id =“project_category”),我想抓住用户是否更改了project_category select或其他输入。我怎么能这样做?感谢

3 个答案:

答案 0 :(得分:3)

你想要做的事情可以通过两种方式来完成,我可以想到我的头脑。 首先,单独捕获表单中所有输入项的更改事件

$("#search_options input,#search_options select").change(function() { 
   // "this" is the input that has changed so you would check if it had id = "project_category" here        
});

或者,您可以在每次更改时跟踪“project_category”的当前值

var current_Project_Category = ""; 
$("#search_options").change(function() { 
        if(current_Project_Category != $(this).find("#project_category").val())
        { 
           //project category has changed so mark this as the current one 
           //also run any change code here
           current_Project_Category = $(this).find("#project_category").val()   
        }

    });

答案 1 :(得分:2)

请改为尝试:

$("#search_options").find('input,select').change(function() {
    var changedId = $(this).attr('id');
    var newVal = $(this).val();
});

答案 2 :(得分:2)

有一个插件专门用于此目的:

<强> jQuery Form Observe

  

此插件会观察表单的值   元素。当最终用户改变任何   输入元素的值,观察者   显示哪些值已更改。和   观察者也会在何时向用户发出警报   他们试图离开页面   在提交更改之前。