热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

使用select2心得

最近项目做了一些修改需要使用复选框,因为之前的单选框都是用的selelct2,本来以为直接添加multiple属性就可以了,但是数据库太大

最近项目做了一些修改需要使用复选框,因为之前的单选框都是用的selelct2,本来以为直接添加multiple属性就可以了,但是数据库太大了,有将近2W条,所以做了一些优化,具体如下:


数据源的绑定:

1.加载控件

2.数据源绑定JS

var select = $("#Personliable");
  select.select2({
    allowClear: false, //是否清空
    tags: true, //数据源支持复选
    placeholder: "支持姓名和工号查询",
    minimumInputLength: 1,  //输入几位参数字符触发Query查询数据源
    query: function (query) {
      var data = { results: [] };
      apiAjax.post({
        action: "EmployeeData.GetInUserList",
        data: { keyword: query.term }
      }, function (res) {
        if (res.Success) {
          data.results = res.Data;
        } else {

        }
        }, null, false);
      query.callback(data);
  },
});

3.以上两步完成之后可以进行复选框的数据筛选,具体效果如下:

图中负责人后面的复选框就是我们需要的,在单元格中输入人员名称或者工号就可以自动筛选了(这里不做具体的展现)。

 

当要对这个数据源进行修改时又遇到了另一个头疼的问题,无论怎么赋值都无法显示默认加载的数据,网上搜了一些资料,整了半天终于整出来了,具体细节如下:
1.在控件数据源加载时加入如下js代码

initSelection: function (element, callback) {
  var data = obj;
  callback(data);
},

(参数obj是一个json数据源字符串)

加了这段以后你以为完了吗?哈哈。。。

还没呢!

2.数据加载时要传json数据源到控件绑定的js里,同时也要讲json赋值给该控件,2者缺一不可,代码如下:

for (var i = 0; i

  ///将数据源生成json格式
  appendReadHtml += "{ id: " + res.Data[i].UserID + ", text: '" + res.Data[i].UserName + "(" + res.Data[i].UserID + ")'},";
}
if (appendReadHtml != "") {
  appendReadHtml = "[" + appendReadHtml.substring(0, appendReadHtml.length - 1) + "]";

  ///json格式化
  appendReadHtml = eval("(" + appendReadHtml + ")");

  ///控件加载时将数据源引入

  LoadData(appendReadHtml);

  ///"initSelection"这个方法只有在赋值时才能被触发

  $("#Personliable").select2("val", appendReadHtml);
}
else {

  ///默认没有数据源直接空加载就可以了。
  LoadData();
}

具体效果如下:

 

转:https://www.cnblogs.com/xxly/p/6180152.html



推荐阅读
  • 前言--页数多了以后需要指定到某一页(只做了功能,样式没有细调)html ... [详细]
  • 本文探讨了如何在JavaScript中动态地引用由PHP生成的变量,特别是在循环中变量名随迭代变化的情况。通过示例代码展示了实现这一功能的具体步骤。 ... [详细]
  • 本文详细探讨了JavaScript中的闭包与柯里化技术,这两者是函数式编程的重要组成部分,对提升代码的灵活性和可维护性具有重要作用。 ... [详细]
  • 本文探讨了在不使用服务器控件的情况下,如何通过多种方法获取并修改页面中的HTML元素值。除了常见的AJAX方式,还介绍了其他可行的技术方案。 ... [详细]
  • 本文将介绍网易NEC CSS框架的规范及其在实际项目中的应用。通过详细解析其分类和命名规则,探讨如何编写高效、可维护的CSS代码,并分享一些实用的学习心得。 ... [详细]
  • 探讨了如何解决Ajax请求响应时间过长的问题。本文分析了一个从服务器获取少量数据的Ajax请求,尽管服务器已经对JSON响应进行了缓存,但实际响应时间仍然不稳定。 ... [详细]
  • 本文详细介绍了如何使用 HTML 和 CSS 对文件上传按钮进行样式美化,使用户界面更加友好和美观。 ... [详细]
  • 当unique验证运到图片上传时
    2019独角兽企业重金招聘Python工程师标准model:public$imageFile;publicfunctionrules(){return[[[na ... [详细]
  • 一个登陆界面
    预览截图html部分123456789101112用户登入1314邮箱名称邮箱为空15密码密码为空16登 ... [详细]
  • springMVC JRS303验证 ... [详细]
  • 本文探讨了浏览器的同源策略限制及其对 AJAX 请求的影响,并详细介绍了如何在 Spring Boot 应用中优雅地处理跨域请求,特别是当请求包含自定义 Headers 时的解决方案。 ... [详细]
  • AJAX技术允许网页在不重新加载整个页面的情况下进行异步更新,通过向服务器发送请求并接收JSON格式的数据,实现局部内容的动态刷新。 ... [详细]
  • 本文讨论了如何根据特定条件动态显示或隐藏文件上传控件中的默认文本(如“未选择文件”)。通过结合CSS和JavaScript,可以实现更灵活的用户界面。 ... [详细]
  • 本文由瀚高PG实验室撰写,详细介绍了如何在PostgreSQL中创建、管理和删除模式。文章涵盖了创建模式的基本命令、public模式的特性、权限设置以及通过角色对象简化操作的方法。 ... [详细]
  • addcslashes—以C语言风格使用反斜线转义字符串中的字符addslashes—使用反斜线引用字符串bin2hex—函数把包含数据的二进制字符串转换为十六进制值chop—rt ... [详细]
author-avatar
love糸_603
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有