2011-11-15 7 views
3
<select id="paymenttype"> 
<option value="">---Select---</option> 
<option>100</option> 
<option>200</option> 
<option>300</option> 
<option>400</option> 
<option>500</option> 
</select> 
<input type="text" id="check" value="" readonly/> 
<input type="text" id="update" value="" /> 

JSjQueryの:どのような機能が、ここで与えられるべきである[変更または他のいくつかの機能]

$("#paymenttype").change(function(){ 
$("#check").val($('#paymenttype option:selected').text()); 
}); 

$("#check").change(function(){ 
alert("soul"); 
$("#update").val(0); 
}); 

Jsfiddle code example

コード、それは動作しません$("#check").change(function()に示すように? Jqueryの仕事にどのような関数を使うべきですか?入力テキストボックスに変更がある場合は、チェックを追加しますか?

$("#paymenttype").change(function(){ 
    $("#check").val($('#paymenttype option:selected').text()).change(); // <-- HERE 
}); 

http://jsfiddle.net/infernalbadger/e6yEd/7/

あなたが値と火を設定することができますので、あなたは小さなプラグインを追加することができます。これは、あなただけ手動で値を設定したときに変更イベントをトリガーするために必要なだけの例

+0

要素がフォーカスを失うとすぐに「変更」が発生します。 – Tomalak

+0

@JamesAllardice入力テキストボックスに変更がある場合は、チェックを追加しますか?これはちょうど例です – Ghostman

+1

@Tomalak - 問題は、 'check'にバインドされた' change'イベントが決して起動しないことです(それは要素が 'readonly'なので決してありません)、Richard Dの答えは正しいです。 –

答えて

4

です変更イベントは1回の呼び出しで同時に発生します。

あなただけ$("#check").changeVal($('#paymenttype option:selected').text());を呼び出すこの方法は:

(function($) { 
    $.fn.changeVal = function(value) { 
     return this.val(value).change();  
    }; 
})(jQuery); 

http://jsfiddle.net/infernalbadger/e6yEd/11/

+0

私にそれを叩く笑:) – Val

1

トリガーを追加してみてください

$("#paymenttype").change(function(){ 
     $("#check").val($('#paymenttype option:selected').text()).change(); 
    }); 

ノート二行目の終わり

関連する問題