select2之 下拉框带实时搜索功能

参考
https://blog.csdn.net/qq_42622871/article/details/131450260

引入 select2.css
select2.js

如报错 select2 is not a function 需检查 js 和select.js 引入的先后顺序

页面

<div class="am-form-group">
    <label>品牌</label>
     <br />
         <select class="singleSelect" id="buyerName" name="brand_id" style="width: 300px;">
              <option value="">--请选择品牌--</option>
                 {{if !empty($brand_list)}}
                 <option value="0">请选择...</option>
                 {{foreach $brand_list as $v}}
                 <option value="{{$v.id}}" {{if isset($data['brand_id']) and $data['brand_id'] eq $v['id']}}selected{{/if}}>{{$v.name}}</option>
                 {{/foreach}}
                 {{/if}}
         </select>
</div>

<script>
$(document).ready(function() {

    $("#buyerName").select2({  // 实时搜索
        placeholder: "请选择品牌",
        ajax: {
            url:"{{:MyUrl('admin/goods/getBrand')}}",
            dataType: "json",
            delay: 250,
            data: function(params) {
                return {
                    keywords: params.term, // 输入框中的值
                    status : {{$status}}
                };
            },
            processResults: function(data) {
console.log('select2搜索品牌返回');
console.log(data);
                var results = [];

                // 根据返回的数据生成选项
                for (var i = 0; i < data.length; i++) {
                    var option = {
                        id: data[i].id, // 选项的值
                        text: data[i].name // 选项的显示文本
                    };
                    results.push(option);
                }
                return {
                    results: results
                };
            },
            cache: true
        },
        minimumInputLength: 1 // 输入的最小长度,可以根据需要进行调整
    });

    $("#buyerName").on("select2:select", function(e) {   // 点击选中值后
        var selectedOption = e.params.data;
        console.log('打印select2:select');
        console.log(selectedOption);
    });
});
</script>
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值