我们有一个包含多个字段的简单表单,如果用户进行任何修改,我们应该显示Save按钮,否则不应该显示。当用户在下拉列表中选择某些内容并随后返回到原始值时(例如从ValA到ValB然后最终到ValA),您如何处理场景?我们应该如何在Rails应用程序中处理这个问题。
答案 0 :(得分:2)
修改强>
我做了一些更新。它不是最漂亮的,但已经很晚了,这是我现在能做的最好的事情。
添加了辅助函数来评估值并与对象中的现有值进行比较。如果它存在,我们迭代一个变量。如果表单元素的长度与默认值的出现次数匹配,则我们隐藏show按钮。我在函数中允许2个参数,我们想要检查值的元素,以及我们希望切换可见性的元素。
希望这有帮助。
$(function () {
var defaults = {},
eles = $('form *').filter(':input'),
btn = $('.submit');
function checkEmpty(objs, toggle){
var len = objs.length,
occurences = 0;
$.each(objs, function(i,obj){
if(defaults[i].value == obj.value){
occurences++;
}
});
if(len == occurences){
toggle.hide();
}else{
toggle.show();
}
}
eles.each(function (i, ele) {
defaults[i] = {
'id': this.id,
'value': this.value
};
});
eles.on('keyup propertychange change paste input focusout', function (e) {
checkEmpty(eles, btn);
});
});
答案 1 :(得分:1)
我希望jquery-form-observe插件能满足您的要求。结帐这个