easyUI重寫了select,取而代之的是combobox,有如下幾種方式可以創建一個combobox
1、使用select標簽,並加上class="easyui-combobox",這種方式比較適用於靜態的選項
2、使用input標簽,並加上class="easyui-combobox",后面跟上data-options,可以用local或是remote方式動態加載數據
3、使用js方式,和2基本相同,只是把combobox一些屬性的設置分離到了js中
今天我就遇到了要在靜態選項中后面加上動態聯動這樣的情況,網上的大部分都是動態加載的。來個小清新,來個靜態加載的
<select id="modulechoose" name="permissionType" editable="false" class="easyui-combobox" style="width: 200px" data-options=" onChange:function(record){ var selectvalue=$('#modulechoose').combobox('getValue'); var url = '/sysPer/getsupermodule?pertype='+selectvalue; $('#parentName').combobox('clear'); if(selectvalue=='module'){ $('#parentName').combobox({disabled:true}); } else{ $('#parentName').combobox({disabled:false}); $('#parentName').combobox('reload',url); } }"> <option value="module" selected="selected">模塊</option> <option value="menu">模塊子菜單</option> <option value="permission">子模塊操作</option> </select>
使用data-options這個屬性來控制。
具體思路是:
1,添加一個onchange事件,檢測combobox值的改變
2,清除下一級的combobox的內容,然后重新reload異步獲取的信息
下面是下一級的combobox的內容
<input id="parentName" name="parentName" editable="false" class="easyui-combobox" data-options="valueField:'moduleId',textField:'moduleName',width:200"/>
二,針對兩個動態資源的聯動,這個以后碰到再記錄