2011-07-05 2 views
0

私は、ページが読み込ま値がデフォルトで選択されることをいくつかのケースでは、しかし(.change経由())は、特定の値を選択した場合jqueryの機能をトリガーするラジオ・ボタンのセットjQuery:change()のようなタグがページロードでも実行されていますか?

を持っています。現時点では、私は2つの別々の関数を持っています - 1つは.change()イベントの中にあり、条件はpageloadで実行されます。私はこれをきれいにしたいと思います:値が変更されたときとページロードされたときの両方で実行されるイベントはありますか?あなたはこのようなpageloadであなたのchangeイベントをtriggerでき

乾杯...

+4

ページロード時に 'change'イベントだけをトリガすることができます。 –

答えて

5

-

$(document).ready(function() 
{ 
    $("#myradioButton").trigger('change'); 

}); 
0

あなたが選択解除にサーバ(またはクライアント側)のデフォルト値を送信することができ、かつ変更ハンドラをバインドした後、あなたが呼び出すことができます。つまり

$('#radio').change(); 

を、全体のプロセスは次のとおりです。

$(function(){ 
    // deselect the default value 
    $('#radio').removeAttr('checked'); 
    // binding radios 
    $('#radios').change(function(){}); 
    // Changing the value of the default radio 
    $('#radio').attr('checked', 'checked'); 
}); 
1

いいえ、同じハンドラを使用できます。

$(document).ready(function() { 
    radioChangeHandler(); // Call it when the DOM is ready 
    $('...').change(radioChangeHandler); // Attach it to the radio buttons 
}); 
0

通常の方法は、別の関数で呼び出しを行い、両方の場所から呼び出します。あなたが望むようにあなたが呼ぶことができるものは何もありません。

はい、2つの場所で同じ呼び出しを行うにはちょっと不安ですが、アプローチは異なります。変更メソッドはコントロールイベントに反応しますが、ページロードは読み込み中のページに応答しています(duh)。

0

ロード時に$(".radio").triggerHandler("change")のようなものを使用して、状態を変更せずにイベントハンドラをトリガすることができます。

関連する問題