簡體   English   中英

在動態創建的按鈕上顯示datepicker

[英]display datepicker on dynamically created button

我試圖在用戶點擊動態創建的按鈕時顯示datepicker。我不想在那里顯示文本框,所以我使用隱藏輸入。

使用Javascript:

        function showDate(){
        var dateDiv = $('#dateDiv');
        for(ind=0; ind<=5; ind++){
            var date = $('<img src="calendar.png" class="datepicker" id="'+ind+'-date" /><input type="hidden" id="'+ind+'-date-picker" /><br />');
            dateDiv.append(date);
        }
    }

    window.onload = function(){
        showDate();
        $('.datepicker').live('click', function(){
            var datepickerId =$(this).attr('id');
            datepickerId += '-picker';
            $('#'+datepickerId).datepicker();
        });
    }

但是當我點擊日歷圖標時沒有任何反應。

HTML:

<body>
   <div id="dateDiv"></div>
</body>

.datepicker()只是設置一個datepicker。 您可以在創建div時執行此操作,而不是每次單擊它時都執行此操作。

要顯示它,你可以調用.datepicker('show');

不確定您使用的是哪個版本的JQuery,但是如果它是1.7+'.live()'已被棄用,如果它是1.9+,則它已被刪除。 鏈接

另外,我建議使用document.ready函數進行初始化。

function showDate(){
    var dateDiv = $('#dateDiv');
    for(ind=0; ind<=5; ind++){
         var date = $('<img src="calendar.png" class="datepicker" id="'+ind+'-date" /><input type="hidden" id="'+ind+'-date-picker" /><br />');
        dateDiv.append(date);
    }
}

$(document).ready( function(){
    showDate();

    $('.datepicker').on('click', function(){
        var $datepicker =$(this).attr('id');
        $datepicker += '-picker';
        $('#'+$datepicker).datepicker();
    });
});

這是上面的小提琴

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM