88487901 2013-11-30
修改jquery easyui combobox模糊过滤
代码如下:
filter:function(q,row){ var opts=$(this).combobox("options"); //return row[opts.textField].indexOf(q)==0;// return row[opts.textField].indexOf(q)>-1;//将从头位置匹配改为任意匹配 },formatter:function(row){ var opts=$(this).combobox("options"); return row[opts.textField]; },loader:function(_7c9,_7ca,_7cb){ var opts=$(this).combobox("options"); if(!opts.url){ return false; }
easyui的combobox扩展默认选择第一行,网上有疯狂秀才的那个被转载了无数次的代码,但是那个只是针对easyui1.2.6的,试了一下在1.3.2下不行的,自己重新写了一个扩展方法如下:
代码如下:
$.extend($.fn.combobox.methods, { selectedIndex: function (jq, index) { if (!index) { index = 0; } $(jq).combobox({ onLoadSuccess: function () { var opt = $(jq).combobox('options'); var data = $(jq).combobox('getData'); for (var i = 0; i < data.length; i++) { if (i == index) { $(jq).combobox('setValue', eval('data[index].' + opt.valueField)); break; } } } }); } });
代码如下:
<script type="text/javascript"> var currenturl = "om_taking.aspx"; $(function () { $('#dept').combobox({ url: currenturl + "?act=loadDept", valueField: 'DEPARTMENT_ID', textField: 'DEPARTMENT_NAME' }).combobox('selectedIndex', 0); }); </script>