easyui中的下拉菜單是樹形結構時如何實現onchange方法
今天碰到一個問題就是我寫的代碼中的一個下拉列表顯示的是樹型菜單,代碼如下(使用的是easyui):
....
<tr>
<td>地區:</td>
<td><input type="combo" id="areaId" name="areaId"
class="easyui-combotree" data-options="{url:‘areaTree‘}"></td>
<td>區域屬性:</td>
<td><input type="combo" id="regionId" name="regionId"></td>
</tr>
....
現在出現了一個問題,我要在地區的下拉列表中加一個onChange方法做一些其它處理,如果只是簡單的combo,比如<input type="combo" id="regionId" name="regionId">
那麽,我只需要在對它初始化時加上onChange事件就可以了,如下:
$(‘#regionId‘).combobox({
data : JSON.parse(‘${regionCombo}‘),
panelHeight : ‘auto‘,
editable : false,
// value:1
onChange: function (n,o) {
alert("我是老大!");
}
});
但是顯示樹形下拉列表後好像這種做法不行,最後追本思源,重新看了一遍easyui中的插件combo,與comboTree的介紹,然後把$(‘#areaId‘).combo({...})改為$(‘#areaId‘).combotree({...})如下:
$(‘#areaId‘).combotree({
onChange:function(newValue,oldValue){
alert(newValue);
}
});
然後測試,發現通過。
原因是因為,組合樹(combotree)是將combo與tree組合在一起實現 的,它本身繼承 了combo的所有事件,但是前提是寫的時候不能用$().combo要用$().combotree才可以
easyui中的下拉菜單是樹形結構時如何實現onchange方法