jquery Отображение даты выбора при редактировании - PullRequest
0 голосов
/ 09 августа 2011

Я выполняю встроенное редактирование таблицы, и у меня есть эмитент с одной из ячеек, которая должна отображать средство выбора даты, когда пользователь щелкает внутри. когда я щелкаю в ячейке, текстовое поле редактирования не отображается, но когда я щелкаю в текстовом поле, средство выбора даты не появляется. Спасибо за вашу помощь. Приветствия

  $('.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');
      }

1 Ответ

1 голос
/ 09 августа 2011

Как я уже говорил в комментариях выше, начните с изменения порядка, в котором вы делаете вещи:

  • Добавить вновь созданное текстовое поле;
  • Вызовите функцию, которая добавит класс hasDatepicker к элементу;

Также измените класс вашего текстового поля так, чтобы он выглядел так:

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

Затем вы вызываете функцию следующим образом:

displayDatePicker('.Datepicker');

Приветствия

...