0

私はテーブルでインライン編集を行っており、ユーザーが内部をクリックしたときに日付ピッカーを表示する必要があるセルの 1 つに発行者がいます。セルをクリックすると編集テキストボックスが表示されますが、テキストボックスをクリックすると日付ピッカーが表示されません。ご協力いただきありがとうございます。乾杯

  $('.editable').live({
          hover: function () {
              //alert('Am hovering');
              //change background of an editable element if mouse hover
              $(this).toggleClass('over-inline');
          },
          click: function (e) {
           //start inline editing
              var $editable = $(this);

              if ($editable.hasClass('active-inline')) {
                  return;
              }
              var contents = $.trim($editable.html());
              initialValue = contents;
              var itemID = $editable.attr('id');
              var editID = 0;
              var s = '';
               $editable
                  .addClass('active-inline')
                  .empty();

                  //define the edit element
                  var editElement = '<input type="text" class="showDatePicker" />';
                  displayDatePicker('.showDatePicker');
                  $(editElement)
                    .val(initialValue)
                    .appendTo($editable)
                    .focus();
                  //addEditButtons($editable); function that add save/delete/cancel buttons
        }



      function displayDatePicker(selector) {

          $(selector).datepicker({
              showOn: "both",
              buttonImage: "images/calendar.gif",
              buttonImageOnly: true,
              changeMonth: true,
              changeYear: true
          });
          $(selector).datepicker("option", "dateFormat", 'dd.mm.yy');
      }
4

1 に答える 1

1

上記のコメントで述べたように、まず、実行する順序を変更することから始めます。

  • 新しく作成したテキスト ボックスを追加します。
  • hasDatepicker クラスを要素に追加する関数を呼び出します。

テキストボックスのクラスも次のように変更します。

var editElement = '<input type="text" class="Datepicker" >';

次に、この方法で関数を呼び出します。

displayDatePicker('.Datepicker');

乾杯

于 2011-08-09T16:56:07.007 に答える