在jquery jtable中显示搜索数据

时间:2014-01-23 14:47:13

标签: javascript jquery jsp jquery-jtable

我正在尝试使用jquery-jtable在jsp页面中显示查询的搜索结果。我的页面上有一个表单(用于搜索参数),因为我想使用jtable分页和排序,我试图找到一种方法将listAction传递给搜索参数。根据我的理解,我应该使用load()方法将它们作为数组传递,如:

$('#SearchResultTable').jtable('load', {parms: lolz, daje: 2});

问题是他们永远不会访问listAction servlet。我的jtable配置如下:

$(document).ready(function() {
$('#SearchResultTable').jtable(
            {
                paging: true,
                pageSize: '20',
                actions: {
                    listAction: 'CRUDController?action=list'
                },
      ...
    });
);

我有这样的表格:

<div id="searchmask">
    <form method="post">
        <table>
...
           <td class="normal">
                    <input onkeypress="checkAlphaNum()" onkeyup="checkform()" name="sCodAzi" id="sCodAzi" size="12" /></td>
                    <input onkeypress="checkAlphaNum()" onkeyup="checkform()" name="sNrOrdine" id="sNrOrdine" size="12" /></td>
...
<input class="flat" disabled type="submit" id="submitter" value="Search"
           onClick="$('#SearchResultTable').jtable('load',
                           {sCodAzi: document.getElementById('sCodAzi').value,
                               sNrOrdine: document.getElementById('sNrOrdine').value}
                   );">
    </form>
</div>

<div id="SearchResultTable"></div>

搜索servlet正确映射到/ CRUDController

问题是:从不调用listAction。它应该在按下提交按钮时被调用,但事实并非如此。一些javascript专家(我在javascript上非常有限)可以帮助我理解我错在哪里吗?

感谢。

1 个答案:

答案 0 :(得分:2)

仅在您的网页加载时调用操作listAction: 'CRUDController?action=list'。 如果要在单击按钮时调用此操作,则需要在按钮单击事件内写入。像这样,

<input class="flat" disabled type="submit" id="submitter" value="Search"
       onClick="searchRecords();">

在你的javascript中,

function searchRecords(){
  $('#SearchResultTable').jtable(
        {
            paging: true,
            pageSize: '20',
            actions: {
                listAction: 'CRUDController?action=list'
            },
         }
      ...
    );
}

这只是客户端修正。您需要发布CRUDController以验证服务器端代码。