2011-08-09 4 views
0

테이블에서 인라인 편집을하고 있고 사용자가 내부를 클릭하면 날짜 표시기를 표시해야하는 셀 중 하나와 발급자가 있습니다. 셀을 클릭하면 편집 텍스트 상자가 displax이지만 텍스트 상자를 클릭하면 datepicker가 나타나지 않습니다. 당신의 도움을 주셔서 감사합니다. 건배jquery 인라인 편집시 날짜 표시기를 표시합니다.

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

당신이 텍스트 상자 클래스를 변경 시도 가지고

displayDatePicker('.Datepicker'); 

건배 대신 Datepicker에? $ (". Datepicker")를 할 때 datepicker() 텍스트 상자에 "Datepicker hasDatepicker"클래스가 있습니다 – Hallaghan

+0

그런데 텍스트 상자를 추가하십시오. 나중에 "displayDatePicker"를 호출하십시오! – Hallaghan

+0

답장을 보내 주셔서 감사합니다. 방금 datepicker가 표시되었지만 텍스트 상자 근처에 표시되는 이미지를 클릭 할 때만했습니다. 텍스트 박스에서 직접 클릭하지 않을 때 // 편집 요소를 정의 var editElement = ''; $ (editElement) .val (initialValue) .appendTo ($ editable) .focus(); displayDatePicker ('. showDatePicker'); – fisdelom

답변

1

나는 당신이 일을 수행하는 순서 변경하여 시작, 위의 설명에서 말했듯이 :

  • 새로 만든 텍스트 상자를 추가를;
  • hasDatepicker 클래스를 요소에 추가하는 함수를 호출하십시오. 그것은 다음과 같습니다 있도록

또한 텍스트 상자의 클래스를 변경 :

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

그런 다음 함수를 이런 식으로 호출