我们有一个包含多个字段的简单表单,如果用户进行任何修改,我们应该显示“保存”按钮,否则不应该显示。当用户在下拉列表中选择某些内容并随后返回到原始值(例如,从 ValA 到 ValB,然后最终到 ValA)时,您如何处理场景。我们应该如何在 Rails 应用程序中处理这个问题。
问问题
519 次
2 回答
2
编辑
我做了一些更新。这不是最漂亮的,但已经晚了,这是我目前能做的最好的。
添加了辅助函数来评估值并与对象中的现有值进行比较。如果存在,我们迭代一个变量。如果表单元素的长度与默认值的出现次数匹配,那么我们隐藏显示按钮。我在函数中允许了 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);
});
});
于 2013-01-05T10:36:21.953 回答
1
我希望 jquery-form-observe 插件能满足你的要求。签出这个
于 2013-01-05T10:35:35.390 回答