需求:點擊左側的用戶,右側可以顯示點擊的用戶,達到相似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');
}
}) 事件