2013-11-01 4 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); 
     }); 
     }); 

잡히지 않습니다. 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);