easyui combobox 动态加载数组数据

怕本身忘了,记录下来之后用方便html

html部分ajax

<input id="rzcode" name="businesItemId"  style="width: 100%; height: 100%;border:none" class="easyui-combobox" data-options=""  />

JS部分json

var arrayData = new Array();//建立空数组
var aryData = new Array();//建立空数组
$(document).ready(function(){
    //先用ajax获取到下拉框所有的数据,并放到数组一里
    $.ajax({
                async:false,//同步加载
                type:"post",
                url:"${ctx}/basic/businessItem/list/all?campId=${campId}&groupId=${groupId}",
                dataType:"json",
                success: function(data){
                    arrayData = data
                }
            });  
      //combobox操做
             $('#rzcode').combobox({
         //先把所有数据复制 
                valueField: 'id',
                textField: 'name',
                data:arrayData,
         //数据改变时
                onChange:function(newValue,oldValue){
                    if(newValue != ""){
                        for(var i=0;i<arrayData.length;i++){
                            var code = arrayData[i].code;
                            var ss = code.indexOf(newValue);
                //输入的newValue是否匹配原有数据的code
                            if(ss != -1){
                   //先清空第数组二,再从新放到数组二里
                                aryData = new Array();
                                aryData.push(arrayData[i])
                            }
                        }
              //修改数据
                        $(this).combobox("loadData", aryData);
                    }else{
              //若是输入空格,依然仍是所有的数据
                        $(this).combobox("loadData", arrayData);
                    }
                    
                },  
});

大致效果数组

输入空格 或 所有删除后async

加载所有post

输入的跟code匹配ui

相关文章
相关标签/搜索