4

ユーザーが動的に作成されたボタンをクリックしたときに日付ピッカーを表示しようとしています.そこにテキストボックスを表示したくないので、非表示の入力を使用します.

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>
4

2 に答える 2

1

.datepicker()日付ピッカーを設定するだけです。これは、div をクリックするたびに行うのではなく、div を作成するときにすでに行っている場合があります。

それを表示するには、次のように呼び出します。.datepicker('show');

于 2013-04-02T14:06:02.213 に答える
0

使用している 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();
    });
});

ここに上記のフィドルがあります

于 2013-04-02T14:11:29.800 に答える