easyui combobox支持动态加载数据

这段代码展示了如何使用jQuery的Combobox组件结合Ajax实现动态数据加载。在用户选择列表项时,通过onSelect事件记录状态,避免重复加载。而在onChange事件中,根据状态决定是否重新获取数据并更新Combobox选项。通过这种方式优化了用户交互体验。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

var comboxSelectOrg = 0; //定义变量,用来判断在onChange 事件中是否需要重新加载数据,因为onSelect事件(选中)后实际是不需要重新加载数据的
$(function(){
    if($('.comboboxorg').length <= 0){ //判断是否存在这个组件,如果不存在这个组件,可以不需要执行整个js代码。
        return;
    }
    $.ajax({
        url: BASE_URL + '/v1/common/queryCustNameAndIdByType',
        dataType: 'json',
        method : 'get',
        success: function (data) {
            var items = $.map(data.result, function (item) {
                return {
                    custId: item.custId,
                    name: item.name
                };
            });
            $('.comboboxorg').combobox({data:items,valueField:'custId',textField:'name'});
        }
    });

    $(".comboboxorg").combobox({
        onSelect: function(row){ //当用户选择一个列表项时触发。
            // console.log("custId:"+row.custId+" name:"+row.name);
            comboxSelectOrg = 1;//重置状态后,无需重新获取新数据
        },
        onChange: function(newValue,oldValue){ //当用户选择一个列表项时触发。
            // console.log("newValue:"+newValue);
            if(comboxSelectOrg == 1){
                // console.log("无需刷新");
                comboxSelectOrg=0;
                return;
            }
             $.ajax({
                url: BASE_URL + '/v1/common/queryCustNameAndIdByType?orgName='+newValue,
                dataType: 'json',
                method : 'get',
                success: function (data) {
                    $(".comboboxorg").combobox("loadData", data.result);
                }
            });
        }
    })
});


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值