0

私は最初のjqueryUIウィジェットを作成しています。2つのテキストボックス(開始日と終了日)で構成される日付範囲コントロールで、どちらもjQueryUIDatePickerを使用します。

私がオンラインで見たすべてのウィジェットコード例では、ウィジェットの動作を汎用セレクターに適用しています。私の場合、セレクターに正確に2つの要素(前述の2つのテキストボックス)が必要であり、それぞれに異なるロジックを適用します。たとえば、開始日のテキストボックスには、終了日のテキストボックスとは異なるonblurイベント/動作があります。

セレクターなしでウィジェットを作成し、代わりに2つの名前付きコンストラクター引数を作成する方法はありますか?1つは開始日用、もう1つは終了日用ですか?そうでない場合は、このウィジェットにアプローチするためのより良い方法はありますか?おそらく、代わりにPOJSO(プレーンな古いJSオブジェクト)を作成する必要がありますか?

4

1 に答える 1

1

セレクターが何であるかはどうですか?ほとんどの場合、選択された要素に適用されるため、ウィジェットはセレクターを使用します。ただし、選択した要素を使用するのはウィジェット次第です。技術的には、それらを無視して処理を続行できます。ドキュメントを選択して (またはテキストボックスの親コンテナーのように)、オブジェクトをパラメーターとしてウィジェットに渡し、「textbox1」と「textbox2」の値を指定してから、初期化時にそれらの値を取得してみませんか。それは理にかなっていますか?

例えば:

$("#parent_container").yourWidget({
    txtbox1: $("#txt_id1"),
    txtbox2: $("#txt_id2"),
    otherParam: true
});

ウィジェット コードでは、選択した要素を無視します。パラメータの値に基づいてすべてを処理します。

于 2012-06-07T13:42:47.890 に答える