Я пытаюсь сделать простую вещь с JQgrid. У меня есть страница с текстовыми полями (имя, фамилия и т.д.). Я ввожу значения для этих текстовых полей, и я делаю запрос на событие нажатия кнопки, чтобы получить данные от контроллера и показать в Grid. Первый раз он работает отлично. но второй раз, когда я меняю значение в текстовом поле, значение параметра обновляется в соответствии с текстовым полем на стороне просмотра, но со стороны контроллера значение параметра не обновляется.
Например, в первый раз я передаю значение как lastname = "XYZ", который отлично работает, но когда я передаю значение как lastname = "BCC", он все еще показывает XYZ. Почему это?
Ниже мой код. Что я делаю не так?
function Search() {
var fName = $("#txtFName").val();
var lName = $("#txtLName").val();
var city = $("#txtCity").val();
var state = $("#txtState").val();
var zip = $("#txtZip").val();
var dob = $("#txtDOB").val();
var driverLic = $("#txtDrvierLic").val();
var playerID = $("#txtPlayerID").val();
var imurl = "/Home/GetPlayerInformationGrid/?fName=" + fName + '&lName=' + lName + '&city=' + city + '&state=' + state + '&zip=' + zip + '&dob=' + dob + '&driverLic=' + driverLic + '&playerID=' + playerID;
$("#list").jqGrid({
url:imurl,
width: 650,
datatype: 'json',
mtype: 'GET',
colNames: ['FirstName', 'PlayerID', 'Date Of Birth', 'State'],
colModel: [
{ name: 'FirstName', index: 'FirstName', width: 100, align: 'center' },
{
name: 'PlayerID', index: 'PlayerID', width: 100, align: 'center', edittype: 'select', formatter: playerFormatter
},
{ name: 'DOB', index: 'DOB', width: 100, align: 'center' },
{ name: 'State', index: 'State', width: 100, align: 'center' }
],
pager: '#pager',
rowNum: 10,
rowList: [10, 20, 30],
sortname: 'invid',
sortorder: 'desc',
viewrecords: true,
gridview: true,
height: "auto",
caption: 'List of Players',
loadonce: false
}).trigger("reloadGrid");
jQuery("#list").jqGrid('navGrid', '#pager', { edit: false, add: false, del: false, refresh:true });
}
создайте сетку один раз с критериями по умолчанию, скажем, в функции document.ready. Затем перезагрузите его, используя следующий подход в своей функции поиска.
var imurl = "/Home/GetPlayerInformationGrid/?.......
jQuery("#list").jqGrid('setGridParam',{url:imurl,datatype:'json'}).trigger("reloadGrid",[{page:1}]);
Вы устанавливаете какие-либо из ваших значений в сеансе (контроллер)? Если это правильно сбросить значения сеанса после завершения каждого запроса.