2013-11-01 141 views
0

我有一個jTable,我需要選擇所有行,這樣我可以稍後將信息提供給AJAX並將數據發送到控制器進行處理。jQuery jTable選擇行

我的問題是,我無法讓它工作。這是迄今爲止的JS代碼。

$('#saveButton').click(function(){ 
     $('#UserTable').jtable("selectRows"); // I think here is the problem 
     var $selectedRows = $('#smsUserTable').jtable('selectedRows'); 
     $selectedRows.each(function() { 
      var record = $(this).data('record'); 
      var userId = record.userId; 
      console.log(userId); 
     }); 
     }); 

我得到Uncaught TypeError:無法始終調用未定義錯誤的方法'addClass'。

也許我正在使用selectRows方法錯誤。先謝謝你。

+3

我不認爲這是代碼的問題,因爲你不調用'addClass'任何地方。當您嘗試在本機DOM對象上使用jQuery函數時,通常會出現此錯誤。 –

回答

1

也許這是解決方案?

$('#UserTable .jtable-data-row').each(function() { 
      $(this).addClass('jtable-row-selected'); 
      $(this).addClass('ui-state-highlight'); 
     }); 

這將選擇表中的所有可見行。

1

您可以使用下面的代碼來獲得JSON字符串的所有表recods數據:

/* Select all Records */ 
$('#your_table .jtable-data-row').each(function() { 
    $(this).addClass('jtable-row-selected'); 
    $(this).addClass('ui-state-highlight'); 
}); 
/* Read each record and add it to json */ 
var $selectedRows = $('#your_table').jtable('selectedRows'),records = []; 
$selectedRows.each(function() { 
    var record = $(this).data('record'); 
    records.push(record); 
}); 
var josn_data = JSON.stringify(records);