月の各日に関連付けられたテキストを表示するために Jquery UI カレンダーと Qtip を使用するセットアップがあります。
次のように UI コンポーネントを初期化します。
$('#datepicker').datepicker({
dateFormat: 'dd/mm/yy',
beforeShowDay: highlightDays,
showOtherMonths: true,
numberOfMonths: 2
});
この後、qtips を開始します。
$('#datepicker').find("td").each(function(){
$(this).qtip({
content: { text: tips[$(this).attr('title')] },
show: { solo: true },
hide: 'unfocus'
});
})
表示する必要がある情報は、データベースから入力した「tips」という配列に保持します。問題は、月を変更したり、日付をクリックしたりするたびに、qtip が表示されなくなることです。
この回避策を試しましたが、うまくいきません:
$('#datepicker').datepicker({
dateFormat: 'dd/mm/yy',
beforeShowDay: highlightDays,
showOtherMonths: true,
numberOfMonths: 2,
onChangeMonthYear: function(year, month, inst){
$('#datepicker').find("td").each(function(){
$(this).qtip({
content: { text: tips[$(this).attr('title')] },
show: { solo: true },
hide: 'unfocus'
});
})
}
});
ユーザーが日の要素をクリックして月を変更した場合でも、qtips を保持する方法についてのアイデアはありますか?
更新 #1
これは、問題を再現するフィドルですhttp://jsfiddle.net/ZKtAZ/3/ (更新されたフィドル)
アップデート #2
EmirCalabuch が提案したように「オン」を試みましたが、まだ月の変更時にhttp://jsfiddle.net/ZKtAZ/9/が機能していません。
ばかげたことを言っているかもしれませんが、カレンダーが月を変更すると、実際には日付ピッカー全体がリセットされ、これが機能しない理由かもしれません。
アップデート #3
ここで見つけることができるこれに対する解決策を見つけましたhttp://jsfiddle.net/ZKtAZ/11/。
実際には、クリック イベントを日付ピッカーにバインドして、月の変更時に適切なアクションを設定する必要がありました。
クリックされた日の問題は、ピッカーを開始するときに次のコードを使用して解決されました。
onSelect: function (date, inst) {
inst.inline = false;
}
ここでこの回答を使用して解決策が見つかりましたhttps://stackoverflow.com/a/2312825/1168944
あなたの時間と貢献に感謝します。