Прямо сейчас у меня есть это postData: { search: function() { return $("#search").val(); },},
Затем у меня есть функция jQuery над функцией jqGrid, которая выполняет некоторую логику и создает строковую переменную.Сейчас я просто беру эту переменную и устанавливаю значение элемента поиска следующим образом:
$("#startSearch").click(function() {
$("#search").val(searchVal);
$("#grid").trigger("reloadGrid");
});
Это работает, но я прыгал, чтобы сделать это по-другому.Я хочу просто передать переменную seachVal, которую моя функция jQuery создает прямо в postdata.
Я пробовал вот так, но он не работает postData: { search: function() { return searchVal; },},
Я получаю сообщение об ошибке, что searchVal не определен.Я убедился, что переменная searchVal является глобальной, но она все еще не работает.
Возможно ли это, или я просто смотрю на это неправильно?
Любая помощь будет полезна.
Спасибо
ОБНОВЛЕНИЕ:
Вот урезанная версия страницы:
<fieldset>
<input type='text' id='search' />
<button type='button' id='startSearch'>Search</button>
</fieldset>
<script type="text/javascript">
$(function(){
$("#startSearch").click(function() {
serchVal = 'transID > "5"';
$("#search").val(serchVal);
$("#grid").trigger("reloadGrid");
});
$("#list").jqGrid({
url:'data.cfc?method=gridData',
datatype: 'json',
mtype: 'POST',
jsonReader : {
root: "rows",
page: "currentpage",
total: "totalpages",
records: "totalrecords",
repeatitems: false,
id: "0",
},
postData: { search: function() { return $("#search").val(); },},
colModel :[
{name:'transid', label:'Trans ID', width:60},
{name:'companyname', label:'Company Name', width:245},
{name:'companycode', label:'Company Code', width:245},
{name:'datasource', label:'Datasource', width:245}
],
pager: '#pager',
rowList:[10,50,100],
rowNum:'10',
height:221,
sortname: 'transid',
sortorder: 'asc',
viewrecords: true,
gridview: true,
caption: 'Get Trans',
altRows: false,
autowidth: true,
forceFit: true,
rownumbers: true,
scroll: false,
sortable: true
});
$("#list").jqGrid('navGrid','#pager',{edit:false,add:false,del:false,search:false,view:true});
});
</script>
<table id="grid"></table>
<div id="pager"></div>