ボタンをクリックすると、「body」要素に html を追加する jquery がいくつかあります。そのhtmlには、表示されるべきときに表示されないdatepicker入力フィールドがあります。
アプリの他のいくつかの場所で ui-datepicker を使用していますが、完全に機能します。
ドキュメントがロードされたときに日付ピッカーを呼び出してみました:
jQuery ->
$('.my-datepicker-class').each ->
input = $(this)
input.datepicker()
新しいhtmlをページに追加するクリックイベントの後:
$('.my-button').click ->
$('body').ipadoverlay
titleStyle: false
contentWidth: 500
topSpc: true
content: $('#popup-for-' + thing_id).html()
$('.my-datepicker-class').each ->
input = $(this)
input.datepicker()
しかし、ピッカーは現れることを拒否します。私の推測では、jquery がいつビルドして datepicker を配置するかに関係していると思いますが、実際にはわかりません。
アイデアがある場合、またはより多くの情報を使用できる場合はお知らせください。
更新 datepicker() を呼び出す方法を変更して、datepicker をアタッチしたい要素にのみ適用されるようにしました。
$('.ipadoverlay .date-picker').datepicker()
これにより、.each => の最初の問題が解消されます。
今では静かに失敗します。エラーや警告はありません。日付ピッカーは単に表示されません。
jquery.ui.datepicker.js を掘り下げて、何が起こっているのかを把握できるかどうかを確認しますが、datepicker が応答しない理由について何か考えがある場合は、お知らせください。
更新 2 OK、さらに一歩進みました。クラス「hasDatepicker」は、日付ピッカーを追加したい要素に既にアタッチされていました(つまり、要素が非表示で未使用である間に、 $('.date-picker').datepicker() が別の場所で呼び出されていました)が、日付ピッカーが機能しませんでした。要素からクラスを削除し、 .datepicker() を再度呼び出すことでこれを修正しました
$('.ipadoverlay .date-picker').removeClass('hasDatepicker')
$('.ipadoverlay .date-picker').datepicker()
クリックすると日付ピッカーが表示されるようになりましたが、日付を選択しても何も起こりません...助けていただければ幸いです