2016-10-04 7 views
0

これはelement_oldをelement.change関数に渡す正しい方法ですか?関数jqueryに値を渡す?

$('body').on('click', 'input', function(){ 
     element = $(this); 
     element_old = element.val(); 

     element.change(function(element_old){ 
     if($(this).val() != element_old){ show button} 
     else{ hide button }   

     }) 

    }); 

入力値が元の値から変更された場合にのみ、ボタンを表示したいとします。

+0

できません。 'onchange'はイベントを発生させた要素に対して呼び出されるイベントハンドラです –

+1

可能な重複[http://stackoverflow.com/questions/1909992/how-to-get-old-value-with-onchange-event-in - テキストボックス](http://stackoverflow.com/questions/1909992/how-to-get-old-value-with-onchange-event-in-text-box) – Tikkes

+1

あなたはここで何をしようとしていますか?これは[XY問題]の臭いです(http://meta.stackexchange.com/questions/66377/what-is-the-xy-problem) – Liam

答えて

0

サンプルコード

HTML:

<input id="txtCustom" data-defaultText="Hello" /> 

のjQuery:

$("#txtCustom").on('input',function(){ 
    var self=$(this); 
    var changedValue=self.val(); 
    var defaultValue=self.attr("data-defaultText"); 

    if(changedValue==defaultValue){ 
    // Hide buttob 
    }else { 
    // show butto=n 
    } 

}); 
0

このソリューションは、私のために正常に動作します:)

$('body').on('change', 'input', function(e){ 
     var x = $('#q').prop('defaultValue'); 
     if(x!=$('#q').val()){ 
     show button; 
     } 
    }); 
関連する問題