0

動的に追加された要素に対して jQuery プラグインを機能させるにはどうすればよいですか? [追加] ボタンをクリックするたびに、いくつかの日付ピッカーを DIV 日付リストに追加しようとして います。プラグインは、動的に追加されるテキスト ボックスでは機能しません。誰かアドバイスをお願いできますか?

ありがとうございました

HTML

<div class="datesList">
    <div class="date">
        <input type="text" class="date-picker"/>
    </div>
</div>

<div class="addDate">
    Add Date
</div>

JS

$(".date-picker").datepicker();

$(".addDate").click(function(){
   var dList = $(".datesList");
   dList.find(".date").first().clone(false).appendTo(dList);
});
4

4 に答える 4

1

次のように jquery on() http://api.jquery.com/on/を使用します。

$(document).on('click', '.addDate', function() {
     YOUR FUNCTION
});

$(document) の代わりにパフォーマンスを向上させるには、最初に読み込まれる最も近い DOM 要素を使用します

于 2012-11-23T10:36:30.140 に答える
1

これを試して

 $(".date-picker").datepicker();

 $(".addDate").click(function(){
   var dList = $(".datesList");
   dList.find(".date").first().clone(false).appendTo(dList);
   $(".date-picker").datepicker();
});
于 2012-11-23T10:43:45.037 に答える
0

これは機能しますが、私がやった方法が気に入らないかもしれません

$(".date-picker").datepicker();

$(document).on('click', '.addDate', function() {
    var dList = $(".datesList");
    var newinput = $('<input type="text" />').attr('class', 'date-picker');
    dList.append(newinput);
    var newdatepickr = $(".date-picker").datepicker();
});​

http://jsfiddle.net/2pFAd/

于 2012-11-23T11:18:47.043 に答える
-1

これが jQuery UI の datepicker の場合は.datepicker('refresh')、各更新後に簡単に呼び出すことができます。

于 2012-11-23T10:40:58.250 に答える