1. .select2-container .select2-choice {
  2. height: 34px;
  3. line-height: 34px;
  4. }
  1. .自定义 组件高度
  2. css 里面设置
  3.  
  4. .select2-container .select2-choice {
  5. height: 34px;
  6. line-height: 34px;
  7. }
  1. .自定义宽度 监听 change事件(coffeescript语法)
  2.  
  3. $('#time_scope_scope_id').select2({'width':'200px'}).on("change", (e) ->
  4. refresh_tab()
  5. )

http://blog.csdn.net/remote_roamer/article/details/47732349

select2 4.02 实现类似google搜索条的 ajax remote data功能

1,构建一个 select2 的 下拉框,
这里注意,不能用input 来构建了

  1. <select id="park_code"></select>

2,初始化成select2 对象

  1. $("#park_code").select2({
  2. placeholder: "选择一个停车场",
  3. ajax: {
  4. url: "/park_seek/",
  5. dataType: 'json',
  6. delay: ,
  7. data: function (params) {
  8. return {
  9. q: params.term, // search term
  10. page: params.page
  11. };
  12. },
  13. processResults: function (data, page) {
  14. // parse the results into the format expected by Select2.
  15. // since we are using custom formatting functions we do not need to
  16. // alter the remote JSON data
  17. console.debug("ajax返回的对象是:")
  18. console.debug(data.items)
  19. return {
  20. results: data.items
  21. };
  22. },
  23. cache: true
  24. },
  25. escapeMarkup: function (markup) {
  26. console.debug(markup)
  27. return markup;
  28. }, // let our custom formatter work
  29. minimumInputLength: , //至少输入多少个字符后才会去调用ajax
  30. maximumInputLength: , //最多能输入多少个字符后才会去调用ajax
  31. minimumResultsForSearch: ,
  32. width: "260px",
  33. templateResult: formatRepo,
  34. templateSelection: formatRepoSelection,
  35. });
  36.  
  37. $("#park_code").on("change",function (e){
  38. can_analyse();
  39. })
  1. /* 这里2个函数是用于查询到内容后,显示在select2的下拉框里面 */
  2. function formatRepo (repo) {
  3. if (repo.loading) return repo.text;
  4. repo.text = repo.name
  5. repo.id = repo.code
  6. var markup = '<div class="clearfix">' +
  7. '<div class="col-sm-4">' + repo.code + '</div>' +
  8. '<div class="col-sm-20">' + repo.name + '</div>' +
  9. '</div>';
  10.  
  11. return markup;
  12. }
  13.  
  14. function formatRepoSelection (repo) {
  15. repo.selected = true;
  16. repo.code = repo.id
  17. repo.name = repo.text
  18. if(repo.code == null || repo.code == ""){
  19. repo.text = '请选择一个停车场'
  20. repo.name = repo.text
  21. }
  22. $("#park_name").val(repo.name);
  23. console.debug(repo);
  24. return repo.code ;
  25. }
  26. /* 这里2个函数是用于查询到内容后,显示在select2的下拉框里面 end */

3.通过其他的js函数对这个select2 进行赋值

  1. $("#park_code").empty().append('<option id="'+code+'" value="'+code+'">'+name+'</option>').trigger('change');

注意:这里要trigger 这个 change 的 事件,这样才会调用formatRepoSelection 这个方法,并且刷新UI。

  1. 后台提供的json对象
  2. {
  3. items:
  4. [
  5. {
  6. id: "",
  7. code: "",
  8. name: "大树路4"
  9. },
  10. {
  11. id: "",
  12. code: "",
  13. name: "大树路2"
  14. },
  15. {
  16. id: "",
  17. code: "",
  18. name: "大树路1"
  19. },
  20. {
  21. id: "",
  22. code: "",
  23. name: "大树路3"
  24. }
  25. ]
  26. }
  27. 注意几个问题:
  28. .如果返回的json里面没有id。则会出现查询的对象无法选择的问题。处理方式,就是在返回的josn对象里面加入 id 这个唯一标示
  29. 相关内容http://kanpiaoxue.iteye.com/blog/2153468
  30. .formatRepoSelection函数中,缺省的是处理repo 对象 id text 2个属性,而我这里定义的json是是code name,所以需要把code name 复制到 id text里面。否则没法显示在界面上。另外一种简单的处理方法,可以把json对象直接变成 id text的结构。这样就不用定制 select2 里面的方法了。

select2的更多相关文章

  1. 利用Select2优化@Html.ListBoxFor显示,学会用MultiSelectList

    最近需要用到多选框,Asp.Net MVC自带的@Html.ListBox或@Html.ListBoxFor的显示效果太差,于是找到了Select2进行优化,并正式了解了多选框的操作方法. 首先介绍多 ...

  2. ajax获取json数据 for select2

    json数据“a.json” [ { "id": "1", "text": "张三" }, { "id&quo ...

  3. select2 demo

    https://select2.github.io/examples.html 一大堆的坑: 1. 不同版本之间貌似不兼容,对应版本看对应的文档. 2. 4.0.3版本: 1). 自定义渲染的opti ...

  4. 解决select2在bootstrap的modal中默认不显示的问题

    在Bootstrap中的Modal,select2插件会有不显示,因为其z-index小于modal,还有另外一个问题是,修正z-index之后,select2不会自动失去焦点的问题.代码解决如下: ...

  5. select2 清空数据

    最近用select2插件,发现用jquery重置不好使,最后搜罗了一把发现下面这个方法可以间接的实现,有空还得看看插件的API $('#integratorId').select2('data', n ...

  6. select2插件不兼容ie7,ie7下样子显示错位问题

    1.源文件(未修改) select2.min.css.select2.min.js 2.ie7下显示样式: 3.ie8下显示样式: 4.经查看发现ie7下对一些属性的解析和ie8不同,需对ie7另作h ...

  7. select2的相关问题

    在弹出框中无法使用select2的问题: 通常情况下,使用select2只需要在加载相关js和css后,添加如下代码即可: $("#selectId").select2(); 但如 ...

  8. bootstrap与Select2使用小结

    这个select2组件的功能确实很强大,可以将图片放入到select里面随着文字一起显示. 组件的下载地址以及API说明地址: 1.Select2使用示例地址:https://select2.gith ...

  9. 解决Select2控件不能在jQuery UI Dialog中不能搜索的bug

    本文使用博客园Markdown编辑器进行编辑 1.问题呈现 项目中使用了jQuery UI的Dialog控件,一般用来处理需要提示用户输入或操作的简单页面.逻辑是修改一个广告的图片和标题. 效果截图如 ...

  10. JS组件系列——Bootstrap Select2组件使用小结

    前言:在介绍select组件的时候,博主之前分享过一篇JS组件系列——两种bootstrap multiselect组件大比拼,这两个组件的功能确实很强大,只可惜没有图文结合的效果(也就是将图片放入到 ...

随机推荐

  1. python图形界面(GUI)设计

    不要问我为什么要用 python 来做这种事,我回到“高兴咋地”也不是不可以,总之好奇有没有好的解决方案.逛了一圈下来,总体上来说,python 图形界面有以下几个可行度比较高的解决方案. 1. py ...

  2. POJ3273 Monthly Expense

    查看原题 边界,就是边界和思维,怎么有效的判断中间值是大了还是小了,以及准确的找到边界!一个<写成<=就前功尽弃,还特别难找到错误! #include <cstdio> #in ...

  3. 数据结构算法C语言实现(十二)--- 3.4循环队列&队列的顺序表示和实现

    一.简述 空队列的处理方法:1.另设一个标志位以区别队列是空还是满:2.少用一个元素空间,约定以队列头指针在队尾指针下一位置上作为队列呈满的状态的标志. 二.头文件 //3_4_part1.h /** ...

  4. AngularJs ngApp、ngBind、ngBindHtml、ngNonBindable

    ngApp 使用这个指令自动启动一个AngularJS应用.ngApp指令指定了应用程序的根节点,通常会将ngApp放置在网页的根节点如<body>或<html >标签的. 格 ...

  5. 用面对对象方式定tab标签

    一些公共的底层的JS方法 var GLOBAL = {}; GLOBAL.namespace = function (str) { var arr = str.split('.'), o = GLOB ...

  6. runtime笔记一

    一.iOS中_cmd The _cmd variable is a hidden argument passed to every method that is the current selecto ...

  7. 符号(void *)何解?符号(void **)又何解??

    http://bbs.csdn.net/topics/70050852 对于多级指针或者数组,要掌握正确的识别方法:void*  是说: 这是一个指针,去掉一个(*)就是它所指向的,在这里是指向放vo ...

  8. 使用Navicat导入导出表的数据做测试(转载)

    当我们对MySQL数据库进行了误操作,造成某个数据表中的部分数据丢失时,肯定就要利用备份的数据库,对丢失部分的数据进行导出.导入操作了.Navicat工具正好给我们提供了一个数据表的导入导出功能. 1 ...

  9. html img src base64

    网页上有些图片的src或css背景图片的url后面跟了一大串字符,比如:data:image/png;base64, iVBORw0KGgoAAAANSUhEUgAAAAEAAAAkCAYAAABId ...

  10. windows7-SQLyog 安装图解

    双击: 双击已下载的SQLyog Enterprise 安装文件,点击“next”,选择“I accept...”,勾选安装组件,选择安装目录,等待安装完成. 协议:选择我接受 选择操作   选择路径 ...