easyui (combobox或者combogrid)下拉框在点击其余地方时候会回缩,指望效果为下拉框一直处于展开状态

 

 

需求:点击左侧的用户,右侧可以显示点击的用户,达到相似QQ群添加群成员的效果
思路设计:依靠easyui自带的Combogrid实现,combogrid有onSelect方法,可以在选中下拉框选项时候触发动做,这时候配合函数

ui

  $("#xxx").combogrid("setValue", item); //需从新赋值(这个地方须要再从新赋值一次)
  var gridData = $('#BaseCustomerIdsCom').combogrid('grid'); // 获取数据表格对象
  var rowData = gridData.datagrid('getSelected'); // 获取选择的行设计


可以获取到当前行的数据,把数据在赋值到右侧即可,右侧部分省略对象

遇到难点:blog

下拉框想让他一直处于下拉状态,有人会问为啥不用datagrid组件作,由于combogrid自带搜索功能,使用这个功能用combogrid会好用一些,惟一要解决的问题就是不让下拉框在点击其余地方时候回收。
最开始的想法是,捕获全局的点击事件,在里面加入$('#xxx').combobox('showPanel');
实际不理想,由于在点击其余地方的时候依旧会收一下,再显示,效果很差看
//捕获全局点击事件
$(document).on('click', function (e) {
$('#BaseCustomerIdsCom').combobox('showPanel');
});
后面找了好久,一直找不到合适的解决办法,查看官方文档也没有相应的内容
最后发现,其实combox的panel有个onClose的函数,在panel关闭要触发时候,尝试加入显示panel会怎么样?尝试一下,难点解决
$('#xxx').combobox('panel').panel({
onClose: function () {
$('#xxx').combobox('showPanel');
}
}) 事件

相关文章
相关标签/搜索