事情从我的previous question开始: 使用jQuery是否可以比较选择器中的两个属性? 我的意思是:
$('element[atribute1!=attribute2]')
或者,在一个实际例子中:
$('input[name!=id]')
在我的情况下,我需要它来获取在用于编辑内容的html表单中没有更改的输入字段数, 我试图让这段代码起作用:
if($('input[DefaultValue!=input.value]').lenght==0){...}
怎么样? 它应该返回已更改字段的数量(如果我得到0,我将停止表单提交,显示警告消息并返回而不更新)
感谢您的帮助。
答案 0 :(得分:4)
没有。如果你查看jQuery的文档,你会发现没有这样的选择器。
同样defaultValue
是属性,而不是属性。
你可以这样做:
var changed = $('input').filter(function() {
return this.value !== this.defaultValue;
});
答案 1 :(得分:1)
您可以使用jQuery filter()功能,如下所示:
var different = $('input').filter(function()
{
return $(this).attr('data-default-value') != $(this).val();
});
然后,您可以测试different.length > 0
。
以下是一个完整的工作示例:http://jsfiddle.net/us47d/