0

以下の最初のスクリプトは、クリックすると単純なテキスト (この場合は日付) を編集可能なフィールドに変換します。次に、動的に生成されたフィールドがクリックされたときに datepicker() カレンダーをポップアップさせたいのですが、カレンダーをすべての人に表示することはできません。

<script type="text/javascript">
    $(document).ready(function() {
        var alreadyActive = "";
        $(".editable-date").on("click", function() {
            if(!alreadyActive) {
                OriginalText = $(this).text();
                divValue = $(this).attr('value');
                $(this).html("<form class='edit-date' ><input type='text' class='date_input' value='" + OriginalText + "' /><input type='submit' value='Update' /></form>");
                alreadyActive = "true";
            }
        });
    });
</script>
<script type="text/javascript">
    $(function() {
        $(".date_input").datepicker();
    });
</script>

また、以下のスクリプトを試して、datepicker() を呼び出しても無駄でした。

<script type="text/javascript">
    $(function(){
        $("body").on("click", ".date_input", function() {
            $(this).datepicker();
        });
    });
</script>
4

1 に答える 1

3

あなたの2回目の試みは近かったです、それは次のようになるはずです:

$(this).datepicker().triggerHandler("focus");
于 2012-11-29T22:47:59.053 に答える