.select2-container .select2-choice {
height: 34px;
line-height: 34px;
}
 .自定义 组件高度
在css 里面设置 .select2-container .select2-choice {
height: 34px;
line-height: 34px;
}
 .自定义宽度 和 监听 change事件(coffeescript语法)

 $('#time_scope_scope_id').select2({'width':'200px'}).on("change", (e) ->
refresh_tab()
)

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

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

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

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

2,初始化成select2 对象

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

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

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

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

后台提供的json对象
{
items:
[
{
id: "",
code: "",
name: "大树路4"
},
{
id: "",
code: "",
name: "大树路2"
},
{
id: "",
code: "",
name: "大树路1"
},
{
id: "",
code: "",
name: "大树路3"
}
]
}
注意几个问题:
.如果返回的json里面没有id。则会出现查询的对象无法选择的问题。处理方式,就是在返回的josn对象里面加入 id 这个唯一标示
相关内容http://kanpiaoxue.iteye.com/blog/2153468
.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. IAR使用记录

    1. Project-->Options... 更改器件:General-->Target-->Device 添加其它需包含的目录:C/C++ Compiler-->Prepr ...

  2. Django admin coercing to Unicode: need string or buffer, tuple found

    见 http://stackoverflow.com/questions/29762306/django-admin-coercing-to-unicode-need-string-or-buffer ...

  3. [转]virtualenv and virtualenvwrapper

    转自 http://liuzhijun.iteye.com/blog/1872241 virtualenv virtualenv用于创建独立的Python环境,多个Python相互独立,互不影响,它能 ...

  4. RBM Formula Deduction

    Energy based Model the probability distribution (softmax function): \[p(x)=\frac{\exp(-E(x))}{\sum\l ...

  5. HTML5系列四(特征检测、Modernizr.js的相关介绍)

    Modernizr:一个HTML5特征检测库 Modernizr帮助我们检测浏览器是否实现了某个特征,如果实现了那么开发人员就可以充分利用这个特征做一些工作 Modernizr是自动运行的,无须调用诸 ...

  6. Ubuntu学习总结-02 Ubuntu下的FTP服务的安装和设置

    一 安装vsftpd 在安装前vsftpd,先更新apt-get下载的数据源输入如下命令: sudo apt-get update 然后安装vsftpd sudo apt-get install vs ...

  7. 利用POI 技术动态替换word模板内容

    项目中需要实现一个功能,动态替换给定模板里面的内容,生成word文档提供下载功能. 中间解决了问题有: 1.页眉的文档logo图片解决,刚开始的时候,HWPFDocument 对象无法读取图片对象(已 ...

  8. 用sql 语句给字段添加描述

    用sql 语句给字段添加描述 IF not exists (SELECT * FROM ::fn_listextendedproperty (NULL, 'user', 'dbo', 'table', ...

  9. Python MySQLdb在Linux下的快速安装

    在家里windows环境下搞了一次 见   python MySQLdb在windows环境下的快速安装.问题解决方式 http://blog.csdn.NET/wklken/article/deta ...

  10. Java——新IO 通道

    import java.io.File; import java.io.FileOutputStream; import java.nio.ByteBuffer; import java.nio.ch ...