2013-08-06 58 views
3

我可以知道如何從JSON或數組添加記錄到jtable嗎?如何添加記錄到jTable?

我可以從API參考發現只有兩個方法

我都嘗試,但不能正常工作,它總是顯示「無可用數據!」

<!DOCTYPE html> 
<html> 
<head> 
<meta charset="UTF-8" /> 
<script src="http://code.jquery.com/jquery-1.10.2.min.js"></script> 
<script src="jqueryui/ui/jquery-ui.js"></script> 
<script src="jquery.jtable.js"></script> 

<link rel="stylesheet" type="text/css" href="themes/basic/jtable_basic.css" /> 
<script> 
jQuery(document).ready 
(
    function() 
    { 
     var jt=$('#jt').jtable 
     (
      { 
       title: 'this is title', 
       fields: { 
        a: { 
         title: 'a' 
        }, 
        b: { 
         title: 'b' 
        } 
       } 
      } 
     ); 
     jt.jtable('load',{a:'aaa',b:'bbb'}); 

     jt.jtable('addRecord', { 
      record: { 
       a:'aaa',b:'bbb' 
      } 
     }); 
    } 
); 
</script> 
</head> 
<body> 

<div id="jt"> 

</div> 

</body> 
</html> 

回答

4

load當您想從服務器檢索數據到您的表時使用方法。如果您想手動添加數據,那麼addRecord是正確的使用方法。但是:默認情況下,jtable嘗試將數據也添加到服務器。如果您的服務器沒有正確配置,那麼addRecord可能會失敗。

在此,如果你只是想手動將數據添加到客戶端,提供addRecordclientOnly參數:

$('#jt').jtable('addRecord', { 
    record: { 
     a:'aaa',b:'bbb' 
    }, 
    clientOnly: true 
}); 

全部工作演示:JSFIDDLE

+1

如果我設置分頁:true,這是行不通的,它仍然發送一些東西到服務器。我只能在客戶端使用jtable進行分頁嗎? –

+0

jTable中的關鍵賣點是Ajax支持。如果您不需要服務器端通信,爲什麼要使用jTable?爲什麼不使用DataTables? https://datatables.net/ – jsalonen

+0

如果啓用分頁功能,則無法阻止其從服務器重新加載 https://github.com/hikalkan/jtable/pull/666 –

2

你們是不是要在本地添加數據?按照documentation for addRecord,你就需要指定clientOnly選項:

clientOnly(布爾值,默認值:false):如果這是真的,JTable中不添加記錄到服務器上,只增加了表。