浅谈select2使用

select2有很多的属性、事件,列举一些常用的栗子

引入select2插件后,最简单的使用方式,不带ajax请求

$("#demo").select2({
    placeholder: "please select demo",
    allowClear: true,
                data: [{id: 10001, text: 'demoa'},
                        {id: 10002, text: 'demob'},
                        {id: 10003, text: 'democ'}]
        });
placeholder             输入框站位符
allowClear: true,       指定有占位符时允许清除

使用ajax请求

$("#demo").select2({
            placeholder: "选择...",
            multiple: true,         //是否多选
            allowClear: true,    
            ajax: {
                url: "url",        //请求地址
                type: "post",      //请求方式
                formatSelection: function(item){
                   return item.name;   //显示选择对象属性name
               },
               formatResult: function(item){
                  return item.name;   //下拉时显示name属性
             }
        });

select2分页

$("#demo").select2({
            placeholder: "选择...",
            multiple: true,         //是否多选
            allowClear: true,    
            ajax: {
                url: "url",        //请求地址
                type: "post",      //请求方式
                data:function(term, page){
                    return {
                        "term": term,    //模糊查询
                        "start": ( page - 1) *_LENGTH,//开始
                        "length": _LENGTH //长度                                         
                    };
                },
                results: this.proxy(function(response, page){
                    if(response.success){
                        return {
                            "results": response.data,  //返回数据
                            "more": response.data.length > (page * _LENGTH) //下拉结果判断
                        };
                    }
                    else{
                        alert(response.reason);
                    }
                })
            },
                formatSelection: function(item){
                   return item.name;   //显示选择对象属性name
               },
               formatResult: function(item){
                  return item.name;   //下拉时显示name属性
             }
        });

select2事件,静态数据为例,动态写法一样

$("#demo").select2({
    placeholder: "please select demo",
    allowClear: true,
                data: [{id: 10001, text: 'demoa'},
                        {id: 10002, text: 'demob'},
                        {id: 10003, text: 'democ'}]
        }).on("change",function(){
        //值发生改变时触发,这里写需要调用的fuction
        //常用事件有,select2-open  select2打开时触发
        //select2-close   关闭时触发
        //select2-selecting  选中时触发
    });
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Select2是一种基于jQuery库的下拉选择框,可以帮助你更快捷、更方便地处理复杂的下拉列表。在这里,我们将提供一个简单的使用教程,帮助您快速上手Select2。 1. 下载和引用Select2 首先,您需要从官方网站下载Select2插件。下载完成后,在您的HTML页面中引用Select2的CSS和JS文件: ```html <link href="select2.min.css" rel="stylesheet" /> <script src="jquery.min.js"></script> <script src="select2.min.js"></script> ``` 2. 创建下拉框 在你的HTML文件中,你需要创建一个下拉框元素: ```html <select id="mySelect"></select> ``` 3. 初始化Select2 初始化Select2非常简单,只需在您的JavaScript文件中添加以下代码: ```javascript $(document).ready(function() { $('#mySelect').select2(); }); ``` 现在你的Select2下拉框已经准备好了!但是它还是空的,接下来我们将介绍如何使用Select2来添加选项。 4. 添加选项 添加选项非常简单,只需在下拉框中添加option元素即可。例如: ```html <select id="mySelect"> <option value="1">选项1</option> <option value="2">选项2</option> <option value="3">选项3</option> </select> ``` 但是,如果您有大量的选项,手动添加它们会变得非常繁琐。在这种情况下,您可以使用Select2提供的AJAX加载选项的功能。我们将在下一步中介绍这个功能。 5. AJAX加载选项 使用AJAX加载选项,可以从服务器动态获取选项并将它们添加到Select2下拉框中。以下是一个简单的AJAX示例: ```javascript $(document).ready(function() { $('#mySelect').select2({ ajax: { url: 'http://example.com/api/options', dataType: 'json', processResults: function(data) { return { results: data }; } } }); }); ``` 在这个例子中,我们向Select2提供了一个AJAX请求的URL,并指定了响应数据的类型(JSON)。processResults函数用于处理服务器响应,并将结果返回给Select2。 6. 高级Select2 Select2插件还提供了许多高级功能,例如: - 主题 - 使用不同的主题来定制您的Select2下拉框 - 事件 - 使用事件来响应用户的行为,例如选中选项或打开下拉框 - 模板 - 使用模板来自定义选项的外观和行为 您可以在官方文档中了解更多关于这些高级功能的信息。 总结 在本教程中,我们介绍了如何使用Select2插件创建和自定义下拉框。我们介绍了如何添加选项,使用AJAX加载选项,并提供了一些高级功能的概述。希望这个教程能够帮助您更好地理解和使用Select2。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值