【发布时间】:2017-08-05 12:15:20
【问题描述】:
我现在正在使用 jqGrid(版本:jqGrid 4.14.1-pre,免费 jqGrid),并且想要一个带有日期选择器的搜索工具栏。 当我单击文本框时,日期选择器成功弹出,并使用我选择的日期更新文本框。但是,它不会过滤数据。
我真正想要的是 sopt:["le"] 但失败了。出于检查目的,我也尝试了“eq”。但在这两种情况下,所有数据行都会消失。
我确实设置了
loadonce:true
尝试过
$('#list')[0].triggerToolbar();
由于我确实使用了旧版本的 jqGrid,所以我在 GitHub 中更新了最新版本并尝试了但仍然失败。
{label: 'LockedDate', name: 'LockedDate', index: 'LockedDate', sorttype: 'date', clearSearch: true,
sortable: true,
resizable: false,
hidden: false,
search: true,
formatter: 'date',
formatoptions: {srcformat: 'm/d/Y h:i:s A', newformat: 'm/d/Y h:i:s A'},
searchrules: {date: true},
searchoptions: {
sopt: ["le"],
dataInit: function (element) {
$(element).datepicker({
dateFormat: 'mm/dd/yy',
changeYear: true,
changeMonth: true,
showButtonPanel: true,
onSelect: function () {
$(this).keydown();
$('#list')[0].triggerToolbar();
},
onChange: function () {
$('#list')[0].triggerToolbar(); }
})
}
}
}
我没记错,我看到 Oleg 在 stackoverflow 上的回答(抱歉,链接丢失)谈论旧版本中的日期时间解析问题。是我的日期格式的原因吗?
由于其他搜索工具栏运行良好,我认为这不是寻呼机或网格本身的问题。谁能帮我把日期选择器设置错了?
谢谢! :)
我不确定是否需要这个 jqGrid 代码,但以防万一我会放:
$('#list').jqGrid({
url: '/LockedObjects/GetLockedObjects',
datatype: "json",
contentType: "application/json; charset-utf-8",
mtype: 'GET',
colModel: [
{label: 'LockedBy', name: 'LockedBy',index: 'LockedBy', sorttype: 'text', clearSearch: true,},
{
label: 'LockedDate', name: 'LockedDate', index: 'LockedDate', sorttype:'date', clearSearch: true,
sortable: true,
resizable: false,
hidden: false,
search: true,
formatter: 'date',
formatoptions: {srcformat: 'm/d/Y h:i:s A', newformat: 'm/d/Y h:i:s A'},
searchrules: {date: true},
searchoptions: {sopt: ["le"],
dataInit: function (element) {
$(element).datepicker({
dateFormat: 'mm/dd/yy',
changeYear: true,
changeMonth: true,
showButtonPanel: true,
onSelect: function () {
$(this).keydown();
$('#list')[0].triggerToolbar();
},
onChange: function () { $('#tbLockedPartiesHistory')[0].triggerToolbar(); }
})
}
}
}],
rowNum: 20,
rowList: [20, 30, 50],
sortName: 'LockedDate',
ignoreCase: true,
viewrecords: true,
sortOrder: 'asc',
loadonce: true,
multiselect: true,
jsonReader: {
repeatitems: false,
root: 'rows',
page: 'page',
total: 'total'
},
height: 'auto',
pager: '#listPager',
loadError: function (xhr, status, error) {
console.log(xhr);
console.log(status);
console.log(error);
}
});
$('#list').jqGrid('filterToolbar', {searchOnEnter: false, ignoreCase: true, searchOperators:true,defaultSearch: 'cn' });
$('#list').jqGrid('navGrid', '#listPager', {edit: false,
add: false,
del: false,
refresh: true
});
};
【问题讨论】:
标签: jquery jquery-ui datepicker jqgrid free-jqgrid