2011-01-31 18 views
0
$("#div-calendar").datepicker({ onSelect: SelectedDay }); 

function SelectedDay(date, inst) { 
    var s = inst.dpDiv.find('.ui-datepicker-current-day a').parent().attr("class"); 
    alert(s); 

} 

クリックした日付/セルのクラスを取得しようとしています。jQuery DatePicker OnSelectイベントが早すぎます。

問題は、クラスが変更される前に発生するため、以前のクリックのクラスが常に表示されます。私は代わりに "OnSelected"が必要になります。

+0

は、$(inst.dpDiv).find( 'UI-DatePickerの電流日間のA')のようにするshudイマイチ。親()。attr( 'calss') – Rafay

+0

どうしたらいいですか?今すぐあなたがすでに持っている正確に 'ui-datepicker-current-day'を返すので、私はポイントを得ることはできません。 – Victor

+0

これはどちらのバージョンでも問題ありません。 –

答えて

1

私が過去に使用してに頼ってきた醜いハック:

$("#div-calendar").datepicker({ onSelect: SelectedDay }); 

function SelectedDay(date, inst) { 
    // HACK: the ui hasn't been updated yet, check later 
    window.setTimeout(function() { 
     var s = inst.dpDiv.find('.ui-datepicker-current-day a').parent().attr("class"); 
     alert(s); 
    }, 0); 
} 
+0

私はより良い解決策を見つけられませんでしたが、これはこれを行う最良の方法です。ありがとうございます。誰かがより良い選択肢を持っている場合は、共有してください。 –

+0

more @ http://stackoverflow.com/questions/4629495/jquery-ui-calendar-add-links-to-chosen-dates-possible/4864085#4864085 –

関連する問題