2015-02-11 101 views
-1

首先,這裏是我正在開發的開發網站。這是目前正在開發這樣之前,你甚至回答事情可能會改變:http://wgarrisondev.mainstreethost.com/mage-product-redirects/public/dataTable TableTools複製按鈕不起作用

這裏是我的初始化代碼:

// DataTable editor plugin initialization  
var editor = new $.fn.dataTable.Editor({ 
    ajax: function (method, url, data, successCallback, errorCallback) { 
     successCallback({"id": 4}); 
    }, 
    table: "#grid-basic", 
    dom: 'Tlfrtip', 
    fields: [ { 
      label: "Request URL:", 
      name: "request-url" 
     }, { 
      label: "Target URL:", 
      name: "target-url" 
     }, { 
      label: "Category:", 
      name: "category" 
     } 
    ] 
}); 
// DataTable Initialization 
var dataTable = $('#grid-basic').DataTable({     
    responsive: true, 
    columns: [ 
     { data: "request-url" }, 
     { data: "target-url" }, 
     { data: "category" }, 
     { data: null, defaultContent: '<button type="button" class="btn btn-xs btn-danger icon-delete"><span class="glyphicon glyphicon-remove"></span></button>', orderable: false } 
    ] 
}); 

// TableTools DataTable plugin initialization 
var tableTools = new $.fn.dataTable.TableTools(dataTable, { 
    "sSwfPath": swfPath, 
    "aButtons": [ 
     "copy", 
     { 
      "sExtends": "collection", 
      "sButtonText": "Export", 
      "aButtons": ["csv", "xls", "pdf"] 
     } 
    ] 
}); 
$(tableTools.fnContainer()).addClass('pull-right').insertBefore('div.dataTables_wrapper'); 

// Set up editing of fields 
$('#grid-basic').on('click', 'tbody td:not(:last-child)', function() { 
    editor.inline(this); 
}); 

// Set up Removal functionality 
$('#grid-basic').on('click', 'button.icon-delete', function() { 
    dataTable.row($(this).parents('tr')).remove().draw(); 
}); 

我有一些很奇怪的行爲。複製按鈕不起作用。但是,如果我選擇其他三個選項之一,然後單擊複製它工作正常。所有其他選項工作正常。

更新 -
我已經確定的任意按鈕我不把一個集合中不會工作,直到我點擊了收集至少一次.....仍然一無所知

更新2 - 所以我取得了一些進展。我的應用程序首先要求您選擇商店類型和域。在這一點上,我使用的表格隱藏着一個簡單的內聯style="display: none"。生成url的jquery後,然後顯示其所有字段的表。如果我在開始時不隱藏我的表格,那麼導出按鈕都可以正常工作。然而,有關隱藏桌子的事情最初會把事情搞砸。顯然,我不能讓我的桌子隱藏整個時間,所以我仍然試圖弄清楚爲什麼發生這種情況。 This stack overflow有一個較低的評分答案,指出我在正確的方向。

+0

我已經確定的任意按鈕我不把一個集合中不會工作,直到我點擊了收集至少一次.....仍然一無所知 – 2015-02-12 19:09:41

回答

-1

因此,正如我在更新2中所述,如果按鈕被添加到表中時,它的隱藏(即使用引導,但它發生無論是使用隱藏類或樣式無),當它顯示的按鈕不想工作。關於容器類的一些事情是「修復」這個問題,這就是爲什麼拷貝在被點擊後會起作用的原因。

我仍然不知道爲什麼會發生這種情況,但這是我如何修復它。我現在添加的按鈕後,我表明這樣的表:

$('#grid-container').show(400); $(tableTools.fnContainer()).addClass('pull-right').insertBefore('div.dataTables_wrapper');

這意味着它們不屬於過渡和工作就好了犧牲品。

+0

我的是在我的數據表創建一個新的div和我會就像:$(tableTools.fnContainer()).appendTo('#divId');.我正在使用bootstrap,並且在insertBefore/appending/prepending數據表包裝將會破壞用戶界面。很高興你已經完成了。做得好 – jorrin 2015-02-12 23:59:49