javascript - 使用 tablekit 对从 AJAX 方法返回的表进行排序

标签 javascript ajax grails tablesorter

我像这样从 ajax 调用返回一组结果

<g:submitToRemote update="updateMe" action="getParams" asynchronus="false" value="Search" name="SearchButton" type="hidden"/>

这是将调用的结果放在 updateMe DIV 标记中。

现在,我实际上是从我的 Controller 中渲染一个表格,如下所示:

render(view: 'ajaxResults', model:[results:resultRows])

其中 ajaxResults 是一个模板,如下所示:

        <div class="list">
            <h1>Query Results</h1>
            <table style="width: 80%; align: center;" class="sortable resizable">
                <thead>
                    <tr>                      
                        <th id="emp_name" class="sortfirstasc">Employee Name</th>
                        <th id="title">Title</th>
                        <th id="labor_grade">Labor Grade</th>
                        <th id="name">Hit</th>
                        <th id="total_exp">Experience (Yrs)</th>                      
                    </tr>
                 </thead>
                 <tbody>
                    <g:each in="${results}" status="i" var="search">
                        <tr>                      
                            <td><g:link controller="employee" action="edit" id="${search.id}">${search.emp_name?.encodeAsHTML()}</g:link></td>                              
                            <td>${search.title?.encodeAsHTML()}</td>
                            <td>${search.labor_grade?.encodeAsHTML()}</td>
                            <td>${search.name?.encodeAsHTML()}</td>
                            <td>${search.total_exp?.encodeAsHTML()}</td>                                                                                 
                        </tr>
                    </g:each>
                </tbody>


            </table>
        </div>
        <div class="paginateButtons">
            <g:paginate total="${Search.count()}" />
        </div>
    </div>

问题是——这个表实际上是不可排序的。我正在尝试使用 tablekit

<link rel="stylesheet" type="text/css" media="all" href="../css/tablekit.css" />        
<g:javascript library="tablekit"></g:javascript>

我认为问题在于我正在插入它并且它没有重新呈现给我排序的表格。我怎样才能强制发生这种情况?

最佳答案

我也在谷歌和其他地方搜索过这个,但什么也没找到...... 但是当我在其他地方广泛搜索后在 tablekit 网站的常见问题解答中找到答案时,这很有趣! 只有两个常见问题解答,第二个是大多数人(例如我)搜索的那个。 visit了解详情。 它说:

TableKit.reloadTable(tablename);

强制 TableKit 重新初始化。

希望这对您有所帮助。

关于javascript - 使用 tablekit 对从 AJAX 方法返回的表进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4557383/

相关文章:

javascript - 在 yii2 中通过 ajax 显示 kartik 咆哮

mongodb - 级联:'all-delete-orphan'如何工作?

grails - 在Grails 3.x中使用JPA注释进行映射

javascript - CSS 或 Javascript - 如果未加载背景图像,则显示回退文本

javascript - 通过动态值改变CSS

javascript - 鼠标进入事件无法正常工作

java - 如果事务回滚,CompassGps 会回滚吗?

javascript - 将 className 传递给 React 组件

javascript - 单击时样式切换器跳转到页面顶部

javascript - PHP json_encode() - SQL 限制和 AJAX js