Я создал внешние три флажка.Как остановить запрос отправки URL (setGridParam) в Jqgrid?
Сначала я проверяю флажок Male, отправляя запрос на бэкэнд, время отклика от 30 до 50 секунд. Но внезапно я нажимаю кнопку «Женский», а не отправляю параметр женского значения на бэкэнд.
SO Я хочу прекратить отправку запроса. Отправить новый запрос с новыми параметрами.
Предыдущий запрос завершен после отправки нового запроса.
Когда я проверяю «Все», для получения ответа требуется 2-3 минуты. Пока ответ не будет получен, ни один другой параметр не может быть установлен/отправлен. Например: если я проверяю «Все», я не могу отправить параметр для отмены или проверки «Мужской» или «Женский», пока не получаю ответ «Все». Я использую setGridParam и получаю данные в формате JSON.
это занимает 2-3 минуты, чтобы принести
$("#sex,#age).change(function() {
var sexVal=$("#sex").val();
//sexVal values are Male, Female and All
var listURL='localset.php?mode=yes&sex='+sexVal;
$("#list451").jqGrid("clearGridData", true);
jQuery("#list451").jqGrid('setGridParam',{url : listURL,mtype:'POST',datatype:'json'}).trigger("reloadGrid");
});
jQuery("#list451").jqGrid({
url: 'localset.php?mode=yes',
datatype: "json",
height: 255,
width: 600,
colNames: ['Index', 'Name', 'Code', 'N Name', 'C Name'],
colModel: [{
name: 'item_id',
index: 'item_id',
width: 65,
sorttype: 'integer',
searchoptions: {
sopt: ['eq', 'ne', 'le', 'lt', 'gt', 'ge']
}
}, {
name: 'name',
index: 'name',
width: 150,
sorttype: 'string',
searchoptions: {
sopt: [cn]
}
}, {
name: 'code',
index: 'code',
width: 150,
sorttype: 'string',
searchoptions: {
sopt: ['eq', 'bw', 'bn', 'cn', 'nc', 'ew', 'en']
}
}, {
name: 'sex',
index: 'sex',
width: 150,
sorttype: 'string',
searchoptions: {
sopt: [cn]
}
}, {
name: 'c_name',
index: 'c_name',
width: 150,
sorttype: 'string',
searchoptions: {
sopt: [cn]
}
},
rowNum: 50,
rowTotal: 200,
rowList: [20, 30, 50],
loadonce: true,
mtype: "POST",
rownumbers: true,
rownumWidth: 40,
gridview: true,
pager: '#pager451',
sortname: 'item_id',
viewrecords: true,
sortorder: "asc",
caption: "External Check box Demo"
}); jQuery("#list451").jqGrid('filterToolbar', {
searchOperators: true
});
Извините, но ваш вопрос недостаточно ясен. Какой точный сценарий у вас есть (шаг за шагом)? Какое поведение вы хотите реализовать? Если вы хотите отправить параметр 'sex' на сервер, вы можете использовать' postData: {sex: function() {return $ ("# sex"). Val(); }} '. В случае, если каждый запрос на сервер будет содержать текущее значение элемента управления '' #sex''. Вы хотите загрузить сетку только после того, как сможете использовать 'loadonce: true'. Вы можете отключить '' #sex '' управление в любое время путем использования '$ (" # sex "). Prop (" disabled ", true)'. Существует много сценариев, но неясно, что вы хотите реализовать. – Oleg
Когда я проверяю «Все», для получения ответа требуется 2-3 минуты. Пока ответ не будет получен, ни один другой параметр не может быть установлен/отправлен. Например: если я проверяю «Все», я не могу отправить параметр для отмены или проверки «Мужской» или «Женский», пока не получаю ответ «Все». Я использую setGridParam и получаю данные в формате JSON. Требуется 2-3 минуты, чтобы получить –
У меня есть дополнительные опции, как флажок, выпадающий, текстовое поле. Его комплекс для изменения кода и отображения кода формата JSON. Вот почему я использую setGridParam. –