我正在尝试使用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上非常有限)可以帮助我理解我错在哪里吗?
感谢。
答案 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以验证服务器端代码。