2

スクリプトを使用して動的に作成している入力フィールドにjquerydatepickerを統合しようとしています。

私のスクリプトは次のようなものです...

function getDate(id)
{
       $('.pop-up-link').show();
        $.ajax({
        url :   'gettartDate.jav',
        data    :   'Id='+id,
        success :   function(dateStr)
                        {
                             var htmlStr = 'Start Date : <input type="text" class="datepicker" id="startDateId" value="'+dateStr.StartDate+'"/>';
                             $(".pop-info").html(htmlString);
                             $('.datepicker').datepicker({ dateFormat: 'yy-mm-dd', changeMonth: true, changeYear: true});
                        }
}

データベースの日付を編集し、データベースに新しいエントリを追加する必要があるときに、このスクリプトを呼び出しています。新しいエントリを追加する必要がある場合は、idを0に設定し、空白の文字列を返します。

今私の問題。datepickerは編集機能に対して完全に機能します。しかし、新しいエントリを追加すると、datepicker uiが表示されます。しかし、日付はその入力フィールドに更新されません。繰り返しになりますが、選択した日付を表示するアラートを出すと、日付だけが変更されていることに気付きました。変更しても年と月は変更されません。

4

2 に答える 2

1

次のように、.datepickerでrefreshメソッドを使用してみてください。

$( ".datepicker" ).datepicker( "refresh" );
于 2012-11-01T10:12:24.743 に答える
1

同じIDで日付ピッカーを動的に追加しているという事実が原因である可能性があります。動的に作成された日付ピッカーで同じ問題が発生していました。とにかくId属性を取り出してName属性を使用できる場合は機能するはずです。

したがって、次のものが必要です

var htmlStr = 'Start Date : <input type="text" class="datepicker" name="startDateId" value="'+dateStr.StartDate+'"/>';
于 2012-11-01T10:18:16.010 に答える