0

jQuery UI の日付ピッカーをインライン カレンダーとして使用しようとしています。ユーザーがカレンダーの日付をクリックすると、AJAX 要求が実行され、選択した日付のデータのみが返されます。

たとえば、私が書いたAJAX関数は、ボタンから呼び出されたときに正常に動作しますが、日付ピッカーで呼び出すことができません。ユーザーが日付をクリックすると、関数が呼び出されるという考え方です。それが onSelect イベントの目的だと思っていましたが、うまくいかないようです。

日付ピッカーで使用しているコードは次のとおりです。

$("div.datepicker").datepicker({
    firstDay: 1,
    beforeShowDay: $.datepicker.noWeekends,
    altField: 'input#datepicker_val',
    onSelect: alert("Select event worked.") // this will be replaced with the ajax function call
});

日付ピッカーは正常に初期化されています。それは期待どおりに表示され、動作しますが、何を試しても(そして可能な解決策を探すのに何時間も費やしました)、そのアラートを表示することはできません. 何か不足していますか?

4

2 に答える 2

1

明確にするために、私が最終的に作成した作業コードを以下に示します。

$("div.datepicker").datepicker({
    firstDay: 1,
    beforeShowDay: $.datepicker.noWeekends,
    altField: 'input#datepicker_val',
    onSelect: function(){
         updateTable("datepicker")
    }
});

解決策を提供してくれた EmCo に感謝します。

于 2011-04-03T17:00:19.300 に答える
1

EmCo が彼のコメントで提案したことを試してください。うまくいかない場合は、独自のイベント ハンドラを作成して「ハッキング」することもできます。一致するセレクターを見つけてカレンダーで日を選択し、イベントをそれらに添付する必要があります。

$(Matching_day_selector).live('click', function(){
  // do what you need
});

編集: live() の使用が必要な場合があります。このデモによると、一致するセレクターは次のようになります。

$('.ui-state-default')
于 2011-04-03T16:49:42.007 に答える