我想查找所有表单元素,并指定一个类,并检查它们是否已被修改。 if语句确实是工作,但我不知道要纠正这个问题。这是正确的方向还是我弄错了?如何找到jQuery中尚未更改的输入元素?
$("input").find(".formWithMyClass").load(function() {
if (this.value !== this.defaultValue){
$(this).addClass("inactiveForm");
}
});
干杯!
我想查找所有表单元素,并指定一个类,并检查它们是否已被修改。 if语句确实是工作,但我不知道要纠正这个问题。这是正确的方向还是我弄错了?如何找到jQuery中尚未更改的输入元素?
$("input").find(".formWithMyClass").load(function() {
if (this.value !== this.defaultValue){
$(this).addClass("inactiveForm");
}
});
干杯!
你可以写一个自定义的选择...
(function($) {
$.expr[':'].defaultValue = function(obj) {
return obj.value === obj.defaultValue;
};
})(jQuery);
那么你应该能够做到$('input:defaultValue')
让所有input
元素其中的value
属性设置为defaultValue
。
但是,如果您想要查找所有输入类型元素,则可能需要扩展该自定义选择器。
我似乎无法找到获得select
元素的原始值(并非没有首先设置它们)的方法。他们的defaultValue
财产是undefined
和selectedIndex
可能是最后选择的值。
$(function() {
$('form.formWithMyClass input').each(function() {
if (this.value !== this.defaultValue) {
$(this).closest('form').addClass("inactiveForm");
}
});
});
如果你在它有一个<form class="formWithMyClass">
与<input />
秒。
$(function() {
$('input.formWithMyClass').each(function() {
if (this.value !== this.defaultValue) {
$(this).closest('form').addClass("inactiveForm");
}
});
});
如果你在它有一个<form>
与<input class="formWithMyClass" />
秒。
您还需要了解的东西就像选择菜单等等。JQuery的API中 看.VAL(值)
+1优雅的解决方案。如果OP想要轻松检查*存在任何*改变的字段,则可以使用反码。 – jensgram 2010-11-25 17:09:08