关于easyui中combogrid中输入检索关键字时会被回退的有关问题
关于easyui中combogrid中输入检索关键字时会被回退的问题
直接上代码先,
描述下我的问题:
比如我输入检索关键字qwert,然后我想删除,按退格键,想删除ert这几个字符,效果会变成,我按一次退格键,qwer, 我再按一次退格键,变成qwe但是紧接着又会变成qwer,也就是我必须按不止三次退格键才能删除ert这三个字符。
输入时也会有相同的问题,我想输入qwert,我按q的时候,可能检索框会显示q但是紧接着q就会消失。
我尝试加了个alert(q),这种情况就消失了,所以我想会不会是延迟赋值会有效果,但是用settimeout还是会出现这种情况。所以想请教各位帮我分析一下,谢谢大家
------解决思路----------------------
$('#DiagnosSearch').combogrid("setValue",q);
去掉这句。。你这里都重设过值了,
------解决思路----------------------
reload会重新设置值的,后面又setValue,中间还在输入,有点乱
延时是个办法,不然就用autocomplete
直接上代码先,
$('#DiagnosSearch').combogrid({
panelWidth:500,
panelHeight:200,
delay: 200,
mode: 'remote',
url:PUBLIC_CONSTANT.URL.QUERY_GRID_URL,
fitColumns: true,
striped: true,
editable:true,
pagination : true,//是否分页
rownumbers:true,//序号
collapsible:false,//是否可折叠的
fit: true,//自动大小
pageSize: 5,//每页显示的记录条数,默认为10
pageList: [5],//可以设置每页记录条数的列表
method:'post',
idField: 'HIDDEN',
textField: 'desc',
columns: [[
{field:'desc',title:'名称',width:400,sortable:true},
{field:'code',title:'code',width:120,sortable:true},
{field:'HIDDEN',title:'HIDDEN',width:120,sortable:true,hidden:true},
]],
keyHandler:{
up: function () {},
down: function () {},
enter: function () { },
query:function(q){
$('#DiagnosSearch').combogrid("grid").datagrid("reload",{'keyword':q});
//alert(q)
$('#DiagnosSearch').combogrid("setValue",q);
/*
window.setTimeout(
function (a) {
return function () {
$('#DiagnosSearch').combogrid("setValue",a);;
};
}(q)
, 100);
*/
LoadDiagnosData();
}
},
onSelect: function (){
var selected = $('#DiagnosSearch').combogrid('grid').datagrid('getSelected');
if (selected) {
$('#DiagnosSearch').combogrid("options").value=selected.HIDDEN;
}
}
});
描述下我的问题:
比如我输入检索关键字qwert,然后我想删除,按退格键,想删除ert这几个字符,效果会变成,我按一次退格键,qwer, 我再按一次退格键,变成qwe但是紧接着又会变成qwer,也就是我必须按不止三次退格键才能删除ert这三个字符。
输入时也会有相同的问题,我想输入qwert,我按q的时候,可能检索框会显示q但是紧接着q就会消失。
我尝试加了个alert(q),这种情况就消失了,所以我想会不会是延迟赋值会有效果,但是用settimeout还是会出现这种情况。所以想请教各位帮我分析一下,谢谢大家
------解决思路----------------------
$('#DiagnosSearch').combogrid("setValue",q);
去掉这句。。你这里都重设过值了,
------解决思路----------------------
reload会重新设置值的,后面又setValue,中间还在输入,有点乱
延时是个办法,不然就用autocomplete