Jqueryを使用して$(document).readyのドロップダウンの変更イベントをトリガーしたい。
ユーザーの詳細ページに国と州のカスケードドロップダウンがあります。 C#を使用したMVCで国と州の値(ユーザーIDに基づいてDBから取得)を設定するにはどうすればよいですか。
私はそれほど多くのJQueryを知りませんが、この構文でネイティブイベントを起動できると聞いています。
$(document).ready(function(){
$('#countrylist').change(function(e){
// Your event handler
});
// And now fire change event when the DOM is ready
$('#countrylist').trigger('change');
});
Trigger()またはchange()を呼び出す前にchangeイベントハンドラーを宣言する必要があります。そうしないと、トリガーされません。 @LenielMacaferiに言及してくれてありがとう。
詳細情報 こちら 。
これを試して:
$(document).ready(function(event) {
$('#countrylist').change(function(e){
// put code here
}).change();
});
変更イベントを定義し、すぐにトリガーします。これにより、呼び出す前にイベントハンドラーが定義されます。
元のポスターに答えるのが遅れるかもしれませんが、他の誰かが略記法の恩恵を受ける可能性があり、これはjQueryの連鎖などに従います
これを試して:
$('#id').change();
私のために働く。
値を設定する1行で:$('#id').val(16).change();
リンクされたドロップダウンを作成しようとしている場合、それを行う最良の方法は、事前に構築された選択ボックスとそれを要求するAJAX呼び出しを返すスクリプトを用意することです。
必要な場合のjQueryのAjaxメソッドのドキュメントです
$(document).ready(function(){
$('#countrylist').change(function(e){
$this = $(e.target);
$.ajax({
type: "POST",
url: "scriptname.asp", // Don't know asp/asp.net at all so you will have to do this bit
data: { country: $this.val() },
success:function(data){
$('#stateBoxHook').html(data);
}
});
});
});
次に、「stateBoxHook」というIDを持つ状態選択ボックスの周りにスパンを設定します
あるいは、ドロップダウンリスト自体にonchange属性を置くことができます。onchangeはこのような特定のjquery関数を呼び出します。
<input type="dropdownlist" onchange="jqueryFunc()">
<script type="text/javascript">
$(function(){
jqueryFunc(){
//something goes here
}
});
</script>
このコードがお役に立てば幸いです。このコードは単なる下書きであり、どのIDEでもテストされていないことに注意してください。ありがとう