2

動的に生成されたフィールドに日付ピッカーを追加しています。

('#addScnt1').live('click', function() {
$('<p class="textocampodetexto" style="margin-left:20px; margin-top:20px;"> 
<label for="p_scnts1">  <input id="au_fechainicioperiodo2" 
name="au_fechainicioperiodo2" type="text" size="7"  
value="" /> </p>').appendTo(scntDiv);

これらのフィールドは、[フィールドの追加] ボタンをクリックすると追加されます。

生成されたフィールドをクリックしても、日付ピッカーが表示されません。コードをjavascriptコードの外に置いて動作するため、日付ピッカーが動作していることはわかっています。

どうすればこれを達成できますか?

4

3 に答える 3

2

日付ピッカーを入力フィールドに再接続する必要があります。

ここにある解決策を試してください: jQuery UI の日付ピッカーが動的 DOM で壊れるのはなぜですか?

コードはあなたのものと同一ではありませんが、セレクターから入力フィールドを抽出できれば、それを行うことができます。

于 2012-04-17T19:18:21.307 に答える
1

コードは次のように動作するはずです ( LIVE DEMO ):

$(function () 
{
  $('#addScnt1').click(function() {

    $('<p class="textocampodetexto" style="margin-left:20px; margin-top:20px;"><label for="p_scnts1">  <input id="au_fechainicioperiodo2" name="au_fechainicioperiodo2" type="text" size="7" value="" /> </p>').appendTo(scntDiv);
    $('#au_fechainicioperiodo2').datepicker(
    {
        showOn: "both",
        dateFormat: "dd M yy",
        firstDay: 1, 
        changeFirstDay: false
    });
  });
});

(scntDiv:この呼び出しの前に変数が DOM オブジェクトで定義されていると仮定しています)

于 2012-04-17T19:26:18.930 に答える
0
$('#addScnt1').live('click', function() {
    var newElement = $('all your html'); //then append it wherever

    newElement.find('.input-selector').datepicker();
});
于 2012-04-17T19:18:41.840 に答える