0

日付ピッカーに日付を表​​示させたいテキストボックスで div を作成しようとしています。これまでのところ、テキストボックスと日付ピッカーを使用して div を動的に作成できますが、テキストボックスに日付を表​​示できません。ここで何が間違っていますか??

コード:

showdate(){
var newDateBoxdiv = $(document.createElement('div')).attr({ class:"EDate", id:"EDate"+i});
newDateBoxdiv.html('<input type="text" id="DisplayTextBox">');

addDateBox();


newDateBoxdiv.insertAfter('.EDate');
}



//Function called inside the above function
addDateBox(){
 $('.EDate').find('input[id^="DisplayTextBox"]').each(function () {

    $(this).datepicker({
        showOn: "button",
        buttonImage: "calendar.png",
        buttonImageOnly: true

    });
    $(this).datepicker({dateFormat: 'dd-M-y'});
    var dateFormat = $( this ).datepicker( "option", "dateFormat" );
    $(this).datepicker( "option", "dateFormat", 'dd-M-y' );

});
4

3 に答える 3

1

更新されたコード..newDateBoxdiv値を含むコードのいくつかのエラーに気づきました。テキストボックスのDisplayTextBoxもインクリメントされていません。代わりにこれを試してください。

showdate(){
  var edatenum = $('#increment').val();
  edateinc = "EDate"+edatenum; //increment the value of your div
  var displaytextbox = "DisplayTextBox"+edatenum; //of course you have to increment your textbox also
  $('#increment').val(""+(edatenum+1)); //increment the value of our hidden field
  var newDateBoxdiv = $('<div class="EDate" id="'+edateinc+'"> <input type="text" id="'+displaytextbox+'"></div>');
  newDateBoxdiv.insertAfter(".your_existing_box");  

     addDateBox(); //im not sure if this method already works?
}

<!-- outside of script -->
<input type='hidden' id='increment' value='1'>
于 2012-10-13T14:03:56.537 に答える
1

.on() を使用:

$( セレクター ).live( イベント、データ、ハンドラー ); // jQuery 1.3+

$( ドキュメント ).delegate( セレクター、イベント、データ、ハンドラー ); // jQuery 1.4.3+

$( ドキュメント ).on( イベント、セレクター、データ、ハンドラー ); // jQuery 1.7+

于 2014-01-22T10:02:41.830 に答える
0

.live()を使用する

http://api.jquery.com/live/

于 2012-10-13T14:04:19.500 に答える