2011-08-28 78 views
0

對於數據表和可jeditable,我是新手。現在我試圖在我的數據表上使用jeditable,但它不會一直工作。 我的問題:當我切換標籤在我的數據表中,可jeditable事件並不遵循新標籤,所以我不能編輯任何單元格。第一個標籤是我可以編輯單元格的唯一標籤。在選項卡上使用jeditable選項卡

有沒有我的問題有任何簡單的解決方案,或者是否有任何其他線索關於我已經錯過了?

$("#tabs").tabs({ 
    "show": function(event, ui) { 
     var oTable = $('div.dataTables_scrollBody>table.display', ui.panel).dataTable(); 
     if (oTable.length > 0) { 
      oTable.fnAdjustColumnSizing(); 
     } 
    } 
}); 

// Sets datatable for main table in offerts(admin). 
var oTable = $('.display.offerts').dataTable({ 
    "bJQueryUI": true, 
    "bStateSave": true, 
    "aoColumns": [ 
     null, 
     null, 
     null, 
     null, 
     null, 
     null, 
     null, 
     null, 
     { "bSortable": false } 
    ], 
    "oLanguage": { 
     "sProcessing": "Processing...", 
     "sLengthMenu": "Visa _MENU_ rader", 
     "sZeroRecords": "Inga matchande rader funna", 
     "sEmptyTable": "Ingen data tillgänglig i tabellen", 
     "sLoadingRecords": "Laddar...", 
     "sInfo": "Visar _START_ till _END_ av _TOTAL_ rader", 
     "sInfoEmpty": "Visar 0 till 0 av 0 rader", 
     "sInfoFiltered": "(filtrerat från _MAX_ rader)", 
     "sInfoPostFix": "", 
     "sSearch": "Sök i alla kolumner:" 
    } 
}); 

    /* Apply the jEditable handlers to the table */ 
    $('td.contacted, td.complete, td.sold', oTable.fnGetNodes()).editable('../index.php/offerts/update_offert_status', { 
     data : "{'Ja':'Ja','Nej':'Nej'}", 
     type : 'select', 
     submit : 'OK', 
     "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" 
    }); 

在此先感謝!

+1

您可以發佈您的jsfiddle.net代碼,以便我們可以幫助不同的對象?在任何caso中也可以在問題中發佈完整的代碼。 –

+0

謝謝,並且我忘了添加代碼。 – hgerdin

+0

你的HTML代碼呢?你是通過AJAX加載標籤嗎? –

回答

0

我認爲(但我猜測,因爲沒有HTML代碼),你的問題是,你是初始化一個以上的數據表中的位置:

var oTable = $('.display.offerts').dataTable 

而當你從對象獲得的節點比你只能得到一個表的節點。

$('td.contacted, td.complete, td.sold', oTable.fnGetNodes()) 

如果你有一個以上的表,你應該使用的ID,而不是類,這樣就可以有一定的工作

+0

感謝您的回答尼古拉!我認爲我可以使用一個普通的類來設置設置,但我必須使用它們的ID來分隔每個表。 – hgerdin

相關問題