我有一个表单(id =“search_options”),我跟踪表单中的更改:
$("#search_options").change(function() {
// Bla Bla Bla
});
在这种形式中我有很多输入,其中一个是select(id =“project_category”),我想抓住用户是否更改了project_category select或其他输入。我怎么能这样做?感谢
答案 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 强>
此插件会观察表单的值 元素。当最终用户改变任何 输入元素的值,观察者 显示哪些值已更改。和 观察者也会在何时向用户发出警报 他们试图离开页面 在提交更改之前。