2012-02-03 3 views
0

Я написал код для интеграции timepicker с редактируемым, который используется для создания всех coulmns, кроме скрытого id coulmn, и первого показанного coulmn редактируемого. Я не мог получить fnupdate, чтобы мой отредактированный coulmn обновлялся до нового значения, когда он был отправлен на сервер. Я могу получить опубликованные значения для обработки на стороне сервера, но клиентский интерфейс не gettting обновляется fnupdate.Datatables, jeditable и jquery timepicker в Zend Framework, fnupdate не может обновить старое значение

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

$(document).ready(function() { 

     oTable = $('#scheduleTable').dataTable(
     { 
      "sDom"   : '<"top"flip>rt<"bottom"<"clear">', 
      "bAutoWidth" : false, 
      "bProcessing" : true, 
      bJQueryUI:true, 
      "bServerSide": true, 
      "bFilter":false, 
      "bSort": false, 
      "bInfo": false, 
      "bPaginate":false, 
      "aoColumns":[ 
       { 
        "bVisible" : false 
       }, 
       { 
       }, 
       {}, 
       {}, 
       {}, 
       {} 
      ], 
      "fnRowCallback" : function (nRow, aData, iDisplayIndex) { 
       $(nRow).attr('id', '' + aData[0]); 
       //i starting from one to make the first element in td non editable 
       for (i = 1; i < aData.length; i ++) { 
        $('td:eq(' + i + ') ', nRow).editable("<?= $aupdateUrl; ?>", { 
         'callback': function (sValue, y) { 
          var aPos = oTable.fnGetPosition(this); 
          oTable.fnUpdate(sValue, aPos[0], aPos[1]); 

         }, 
         "submitdata": function (value, settings) { 
          return { 
           "row_id": this.parentNode.getAttribute('id'), 
           "column": oTable.fnGetPosition(this)[2] 
          }; 
         }, 
         'height': '14px', 
         indicator : 'Saving...', 
         tooltip : 'Doubleclick to edit...', 
         type  : "timepicker", 
         placeholder : '&nbsp;' 
        }); 
       } 

       return nRow; 
      }, 

      "sAjaxSource" : "<?= $aSourceList; ?>/startdate/<?= $this->startdate; ?>" 
     } 
    ); 
    }); 
    $('.ui-datepicker-close').live('click', function (e){ 
     e.preventDefault(); 
     $('#scheduleTable tbody td input').parents("form").submit(); 
    }); 

$.editable.addInputType('timepicker',{ 
     /*create input element*/ 
     element:function(settings,orginal){ 
      var form = $(this), 
      input = $('<input type="text">'); 
      form.append(input); 
      return (input); 
     }, 

     plugin:function(settings,original){ 

      /*Don't cancel inline editing onblur to allow clicking datepicker*/ 
      settings.onblur = 'nothing'; 
      $("input",this).filter(":text").timepicker(
      { timeFormat: 'hh:mm', 
       'hourMin':6, 
       'hourMax':21, 
       'showSecond': false, 
       'hourGrid':2, 
       'minuteGrid':10 

      } 
     ); 
     } 
    }); 

ответ

0

Я был в состоянии решить эту проблему .The главное, что я делал неправильно было то, что я не имел JSon реакции только с одним значением из моей Zend Framework, на стороне сервера action.Therefore это вызвало редактируемое чтобы он не мог поместить значение (ответ) в качестве нового значения в элементе td. Надеюсь, что некоторые найдут это полезным для мира!

Смежные вопросы