0

要素の複製に問題があり、要素の複製後に jQuery UI DatePicker が機能しません。例へのリンク: http://jsfiddle.net/V25qA/1/

4

3 に答える 3

2

(安全に) jQuery ウィジェットのクローンを作成することはできません。コピーされない可能性のある状態があります。

.datepicker('destroy')複製する前に古い要素を呼び出し.datepicker()てから、複製された入力要素を再度呼び出して再初期化する必要があります。

于 2012-10-01T07:24:44.597 に答える
1

オペラでもうまく機能しているようです。

このような場合、新しく作成された要素に対してこのクリック イベントを機能させたい場合は、イベントを委任してみてください。

$('form').live('click', '.dpicker', function(){
     alert('clicked')
     $(this).datepicker().focus();  
});

また、 .live()の代わりに .on( ) を使用することをお勧めします。

デモ

于 2012-10-01T07:17:12.110 に答える
1

次の行を変更します

$('.dpicker').eq(0).clone().prependTo('#new');

$('.dpicker').eq(0).clone().removeClass("hasDatepicker").prependTo('#new');

それはうまくいくでしょう。

Datepicker は、この要素が を介して datepicker を有効にすると、「hasdatepicker」クラスを要素に割り当て.datepicker();ます。この要素を複製すると、その属性も複製されます。これが、 を呼び出したときに datepicker プラグインが何もしない理由です.datepicker();。このクラスを削除すると、datepicker は新しい要素で期待どおりに機能します。

于 2012-10-01T07:20:32.307 に答える