2

いくつかのフィールドを含む単純なフォームがあります。ユーザーが[保存]ボタンを表示することになっている変更を加えた場合、それ以外の場合は表示されません。ユーザーがドロップダウンで何かを選択し、その後元の値に戻った場合(たとえば、ValAからValBに、そして最終的にValAに)、シナリオをどのように処理しますか。Railsアプリでこれをどのように処理する必要がありますか。

4

2 に答える 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プラグインがあなたの要件を満たすことを願っています。これをチェックアウト

http://code.google.com/p/jquery-form-observe/

于 2013-01-05T10:35:35.390 に答える