2013-04-08 6 views
11

Tôi phải theo mã để hiển thị bảng người dùng của tôi, điều này đạt được bằng JTable.jQuery-JTable: thêm vào sự kiện nhấp chuột cho hàng?

<script type="text/javascript"> 
    $(document).ready(function() {    
     $('#userTableContainer').jtable({ 
      title: 'Users', 
      selecting: false, 
      paging: true, 
      pageSize: 15, 
      sorting: true, 
      addRecordButton: false, 
      saveUserPreferences: false, 
      create: false, 
      edit: false, 
      actions: { 
       listAction: 'user/getUsers.htm', 
      }, 
      fields: { 
       username: { 
        title: 'username' 
       }, 
       firstname: { 
        title: 'firstname' 
       }, 
       lastname: { 
        title: 'lastname' 
       }, 
       company: { 
        title: 'company' 
       } 
      } 
     }); 
     $('#userTableContainer').jtable('load');    
    });  

</script> 

<div id="content"> 
    <h1>Users</h1>  

    <br /> 
    <div id="userTableContainer"> 

    </div> 
</div> 

Có thể thêm sự kiện hành động tùy chỉnh cho mỗi hàng không? Để tôi có thể gửi yêu cầu như "user/showUser.htm" tới bộ điều khiển của tôi.

+0

bạn có nghĩa là thêm một nút hoặc một cái gì đó để liên tiếp? Và mở một cửa sổ bật lên với chi tiết người dùng khi nhấp chuột? –

+0

một hành động đối với hàng, sẽ mở chi tiết người dùng hoặc bất kỳ thứ gì tương tự. nó không phải là một popup thậm chí, nó cũng có thể chỉ là một trang mới, sẽ không thực sự quan trọng –

Trả lời

12

Điều này sẽ giúp bạn trên con đường của bạn:

$('#userTableContainer').jtable({ 
    .... 
    recordsLoaded: function(event, data) { 
     $('.jtable-data-row').click(function() { 
      var row_id = $(this).attr('data-record-key'); 
      alert('clicked row with id '+row_id); 
     }); 
    } 
}); 
+0

CẢM ƠN BẠN !!! Điều này hoạt động như charm =) –

+0

bạn có thể cho tôi biết cách truy cập tất cả các giá trị của các ô của một hàng cụ thể. Giống như mã trên chỉ cung cấp giá trị của cột là khóa. –

+2

@ user1334573 nó đã được một thời gian dài kể từ khi tôi làm việc với jtable. thử gọi 'console.log (dữ liệu)' trong hàm 'recordsLoaded', và xem dữ liệu nào có sẵn để làm việc. Tôi có linh cảm rằng tất cả các bản ghi sẽ có sẵn trong đối tượng 'dữ liệu'. Ngoài ra hàm 'getRowByKey()' có thể có ích .. http://www.jtable.org/apireference#met-getRowByKey –