【问题标题】:jQuery-JTable: add on click event for row?jQuery-JTable:为行添加点击事件?
【发布时间】:2013-04-08 14:08:56
【问题描述】:

我必须按照以下代码显示我的用户表,这是通过 JTable 实现的。

<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>

是否可以为每一行添加自定义操作事件? 这样我就可以向我的控制器提交像“user/showUser.htm”这样的请求。

【问题讨论】:

  • 你的意思是在一行中添加一个按钮或其他东西?并在点击时打开一个包含用户详细信息的弹出窗口?
  • 对行的操作,这将打开用户详细信息或类似内容。它甚至不必是弹出窗口,也可以只是一个新页面,没关系

标签: jquery-ui jquery spring-mvc jquery-jtable


【解决方案1】:

这应该会让你上路:

$('#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);
        });
    }
});

【讨论】:

  • 你能告诉我如何访问特定行的所有单元格的值吗?就像上面的代码只提供了作为键的列的值。
  • @user1334573 我已经很久没有使用 jtable 了。尝试在recordsLoaded 函数中调用console.log(data),并查看可以使用哪些数据。我有一种预感,所有记录都将在 data 对象中可用。还有getRowByKey()这个函数可能会派上用场..jtable.org/apireference#met-getRowByKey
  • [Object { product_name="we", company="tyr", quantity="50", more...}, Object { product_name="trf", company="yu", 数量="50",更多...}
  • 消息是数据未定义
  • @user1334573 我相信它应该只是data.company。或者等待它看起来像一个数组。试试data[0].company,这应该会返回第一行的公司。如果需要,可以使用简单的 for 循环遍历所有行。
猜你喜欢
  • 1970-01-01
  • 2012-04-25
  • 2023-03-17
  • 2017-03-12
  • 1970-01-01
  • 1970-01-01
  • 2019-02-28
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多