我必须在第一次加载时向网格添加一些参数值。
我有一个 Grails 应用程序。
这是我的 jqgrid 代码:
$(document).ready(function() {
<jqgrid:grid
id="${TableName}"
onSelectRow="onSelectRow"
onSortCol="onSortColumn"
sortable="true"
multipleSearch="'true'"
multipleGroup="'true'"
url="'${createLink(controller: 'sample', action: 'listAll', params: [ticketId: params.ticketId])}'"
colNames='${pageMap.sample.colNames}'
colModel='${pageMap.sample.colModel}'
resizable="true"
sortname="'id'"
height="'auto'"
autowidth="true"
scrollOffset="16"
viewrecords="true"
forceFit="true"
shrinkToFit="false"
beforeRequest="hideNavSelector"
gridComplete="updateLocationOfNavIcons"
showPager="false"
rowList="20,30,40,50,60,70,80,90,100"
rowNum="${pageMap.sample.recordsToShow }"
loadError ="loadError"
loadonce="'true'"
loadComplete="loadComplete"
beforeProcessing="checkSampleResults"
datatype="'json'">
<jqgrid:navigation id="${TableName}" refresh="true"/>
<jqgrid:resize id="${TableName}" resizeOffset="-2" />
</jqgrid:grid>
});
这是现有的代码。fromDate, toDate
但是现在我必须在第一次加载时向参数添加更多字段( ):
我需要添加的参数是:
var from_year = $('#fromDate_year').val().trim();
var from_month = $('#fromDate_month').val().trim();
var from_day = $('#fromDate_day').val().trim();
var to_year = $('#toDate_year').val().trim();
var to_month = $('#toDate_month').val().trim();
var to_day = $('#toDate_day').val().trim();
我尝试像这样将它们添加到我现有的 jqgrid 中(上面的代码):
postData = "{
ticketId:params.ticketId,
from_year:$('#fromDate_year').val().trim(),
from_month:$('#fromDate_month').val().trim(),
from_day:$('#fromDate_day').val().trim(),
to_year:$('#toDate_year').val().trim(),
to_month:$('#toDate_month').val().trim(),
to_day:$('#toDate_day').val().trim()
}"
但它不起作用。
我尝试添加 jqgrid 的 URL 属性,但这也不起作用:
代码是
url="'${createLink(controller: 'sample', action: 'listAll', params: [ticketId: params.ticketId,from_year:$('#fromDate_year').val().trim()])}'"
我写了一个方法并添加到我的 jqgrid 中。它有效,但每次都被调用。那是不需要的。所以我的网格现有行为变坏了。
代码是:
在 jqgrid 中:
beforeRequest="beforeRequest"
在javascript中
function beforeRequest() {
hideNavSelector();
var from_year = $('#fromDate_year').val().trim();
var from_month = $('#fromDate_month').val().trim();
var from_day = $('#fromDate_day').val().trim();
var to_year = $('#toDate_year').val().trim();
var to_month = $('#toDate_month').val().trim();
var to_day = $('#toDate_day').val().trim();
var param_list = {
ticketId:ticketId,
from_year:from_year,
from_month:from_month,
from_day:from_day,
to_year:to_year,
to_month:to_month,
to_day:to_day
};
var grid = $('#${defaultTableName}Grid');
grid.jqGrid("clearGridData", true)
grid.jqGrid('setGridParam',{postData: null});
grid.jqGrid('setGridParam',{datatype:'json',url:'${createLink(controller: 'ticket', action: 'listAllDefaultTable')}',postData:param_list});
}