0

私はJquery UI datepickerを使用しています。使用しているコードは次のとおりです

ps_jquery( ".datefield " ).datepicker({
changeMonth: true,
changeYear: true,
yearRange: "-100:+10",
});

このコードは、半分の時間は正常に機能しています。クラス .datefield を持つすべての要素が最初に読み込まれると、スクリプトは正常に動作します。ajax を使用してより多くの要素を返し、datepicker を再初期化すると、以前に機能していたすべてのものが引き続き機能します。奇妙なことに、ページ上の新しい要素は日付ピッカーで開かれますが、日付を選択すると入力フィールドに入力されません。現在、この問題に対する答えを見つけることができず、誰かがこれを修正する方法を知っていることを願っています.

4

1 に答える 1

0

ajax の更新後に datepicker を再バインドしてみてください。したがって、document.ready を呼び出します。

ps_jquery( ".datefield " ).datepicker({
changeMonth: true,
changeYear: true,
yearRange: "-100:+10",
});

//later you do ajax

 $.ajax({
        type: "GET",
        url: 'foo.php',
        data: "id=" + id,
        success: function(data) {
           //then rebind datepicker:
           ps_jquery( ".datefield " ).datepicker({
           changeMonth: true,
           changeYear: true,
           yearRange: "-100:+10",
           });
        }
    });

これは、datepicker ロジックとオプションを関数に入れ、必要なときにその関数を呼び出す良い機会です。

于 2013-11-08T22:02:38.633 に答える