不廢話,問題描述
後臺用的jquery easyui 組件開發,combobox組件需要和後臺數據進行交互,在後臺數據更新時,是要實時更新下拉框列表值。由於緩存的問題,下拉值在後臺數據出現變化時,並沒有更新。
查了網上的,幾乎都很複雜或者不對。
我的解決方案如下
combobox 組件繼承了panel組件,在panel組件裏面有個事件 onShowPanel,在combobox組件裏面有個reload方法。所以只要在組件下拉展示面板時,重新請求一下數據就好。附上部分代碼。
//搜索產品下拉
$('#ser_pro').combobox({
editable : false,
valueField : 'id',
textField : 'name',
panelHeight:'auto',
url : 'product.php?a=nav',
multiple : false,
onShowPanel : function () {
$('#ser_pro').combobox('clear');
$('#ser_pro').combobox('reload','product.php?a=nav');
},
});