引用:

<script src="~/Content/plugins/select2/select2.min.js"></script>

1.简单使用

$.getJSON("/Basic/GetWareList", {}, function(data) {
$("#form_ware").select2({ data: data });
});

--根据value选中

$("#form_ware").val('20007').trigger("change");

--根据text选中

$("#form_ware option:contains('华南仓')").attr('selected', true).trigger("change");

--清空

$("#form_ware").empty();

--取值

$("#form_ware").select2('data')[0].id;
$("#form_ware").select2('data')[0].text; $("#form_ware").select2('data')[0].obj; //获取附加值

2.级联使用

初始化信息

$("#form_province").select2({
   data: [{ id: -1, text: "请选择" }]
});

省市县级联

//初始化地址信息
$("#dl_province").select2({
data: [{ id: -1, text: "请选择" }]
});
$("#dl_city").select2({
data: [{ id: -1, text: "请选择" }]
});
$("#dl_county").select2({
data: [{ id: -1, text: "请选择" }]
}); //加载省
$.getJSON("/Basic/GetAddressList", { type: "2", parent_id: "1", default_text: "请选择" }, function (data) {
$("#dl_province").select2({
data: data
});
}); //加载市
$("#dl_province").change(function (e) { $("#dl_city").empty();
$("#dl_city").select2({
data: [{ id: -1, text: "请选择" }]
}); $("#dl_county").empty();
$("#dl_county").select2({
data: [{ id: -1, text: "请选择" }]
}); var dl_province = $("#dl_province option:selected").val();
if (dl_province != "-1") {
$.getJSON("/Basic/GetAddressList", { type: "3", parent_id: dl_province, default_text: "请选择" }, function (data) {
$("#dl_city").select2({
data: data
});
});
}
}); //加载县
$("#dl_city").change(function (e) {
$("#dl_county").empty();
$("#dl_county").select2({
data: [{ id: -1, text: "请选择" }]
}); var dl_city = $("#dl_city option:selected").val();
if (dl_city != "-1") {
$.getJSON("/Basic/GetAddressList", { type: "4", parent_id: dl_city, default_text: "请选择" }, function (data) {
$("#dl_county").select2({
data: data
});
});
}
});

3.后端帮助方法

public class ToSelect2Data<T> where T : class
{
public static List<Select2DataModel<T>> ToSelectData(List<T> model, string IdKey, string TextKey)
{
List<Select2DataModel<T>> m = new List<Select2DataModel<T>>();
foreach (var item in model)
{
Type t = item.GetType();
Select2DataModel<T> s = new Select2DataModel<T>();
PropertyInfo idInfo = t.GetProperty(IdKey);
s.id = idInfo.GetValue(item, null).ToString(); PropertyInfo textInfo = t.GetProperty(TextKey);
s.text = textInfo.GetValue(item, null).ToString(); s.obj = item;
m.Add(s);
}
return m;
}
} public class Select2DataModel<T> where T : class
{
public string id { get; set; }
public string text { get; set; }
public T obj { get; set; }
}

使用方法(id,name 是list集合的字段名)

 return Json(ToSelect2Data<bs_addr>.ToSelectData(addressList, "id", "name"), true);

Select2使用方法汇总的更多相关文章

  1. 你真的会玩SQL吗?实用函数方法汇总

    你真的会玩SQL吗?系列目录 你真的会玩SQL吗?之逻辑查询处理阶段 你真的会玩SQL吗?和平大使 内连接.外连接 你真的会玩SQL吗?三范式.数据完整性 你真的会玩SQL吗?查询指定节点及其所有父节 ...

  2. Java实现时间动态显示方法汇总

    这篇文章主要介绍了Java实现时间动态显示方法汇总,很实用的功能,需要的朋友可以参考下 本文所述实例可以实现Java在界面上动态的显示时间.具体实现方法汇总如下: 1.方法一 用TimerTask: ...

  3. C#读写文件的方法汇总_C#教程_脚本之家

    C#读写文件的方法汇总_C#教程_脚本之家 http://www.jb51.net/article/34936.htm

  4. UITextView实现placeHolder方法汇总

    UITextField中有一个placeholder属性,可以设置UITextField的占位文字,起到提示用户的作用.可是UITextView就没那么幸运了,apple没有给UITextView提供 ...

  5. 将编码从GB2312转成UTF-8的方法汇总(从前台、程序、数据库)

    这篇文章主要介绍了将编码从GB2312转成UTF-8的方法汇总(从前台.程序.数据库),需要的朋友可以参考下 一个网站如果需要国际化,就需要将编码从GB2312转成UTF-8,其中有很多的问题需要注意 ...

  6. 本地获取System权限CMD方法汇总(转)

    本地获取System权限CMD方法汇总(转) 稍微整理了下,大概有三种方法可以本地获取system权限的cmd,但前提都是当前用户具备administrator权限. 下面列举的三种方法各有千秋,看你 ...

  7. Javascript对象属性与方法汇总

    Javascript对象属性与方法汇总 发布时间:2015-03-06 编辑:www.jquerycn.cn 详细介绍下,javascript对象属性与对象方法的相关知识,包括javascript字符 ...

  8. .net(C#)操作文件的几种方法汇总

    .net(C#)操作文件的几种方法汇总 System.IO命名空间下类的用法:在System.IO名称空间中包含了用于文件输入输出的主要类.File:实用类,提供许多静态方法,用于移动.复制和删除文件 ...

  9. jquery常用函数与方法汇总

    1.delay(duration,[queueName]) 设置一个延时来推迟执行队列中之后的项目. jQuery1.4新增.用于将队列中的函数延时执行.他既可以推迟动画队列的执行,也可以用于自定义队 ...

随机推荐

  1. hdu3360National Treasures (最大匹配,拆点法)

    National Treasures Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) ...

  2. FFTW库+VS2012配置

    配置环境:Windows7+VS2012 下载资源包,解压后例如以下图: 要嵌入VS2012中,须要相应的lib文件,于是接下来使用VS2012来生成相应的lib文件 在VS2012/Common7/ ...

  3. 无意中发现Markdown,最终解放了我

    文件夹 概述 换行 删除线 链接自己主动识别 表格 代码块高亮 定义列表 脚注 自己主动生成文件夹 參考资料 正文 概述 大部分情况下,Markdown的基本的语法已够我们使用,比方随性记录点东西.非 ...

  4. Hbase常见异常 分类: B7_HBASE 2015-02-02 16:16 412人阅读 评论(0) 收藏

    1. HBase is able to connect to ZooKeeper but the connection closes immediately hbase(main):001:0> ...

  5. 因权限引起的svn提交失败的错误及其解决办法

    作者:朱金灿 来源:http://blog.csdn.net/clever101 前段时间,一个网友发邮件向我请教一个svn提交失败的错误.他的具体错误是这样的: 在配置svn强制输入日志时候遇到一个 ...

  6. Android 升级到Android Studio2.2 后打不开以前版本的项目

    1.找到 build.gradle 用记事本打开,修改如下: // Top-level build file where you can add configuration options commo ...

  7. Android 比较两个时间段是否有交集或重复

    先看一个例图: 在金山<电池管家>应用中就有一个类似上图这样的功能—— 开启多个定时任务. 当开启另一个定时任务的时候,如果即将开启的这个定时任务的时间段与已经开启了的定时任务的时间段有交 ...

  8. POJ 3252 Round Numbers(数位dp&amp;记忆化搜索)

    题目链接:[kuangbin带你飞]专题十五 数位DP E - Round Numbers 题意 给定区间.求转化为二进制后当中0比1多或相等的数字的个数. 思路 将数字转化为二进制进行数位dp,由于 ...

  9. 实现上拉加载更多的SwipeRefreshLayout

    转载请标明出处: http://blog.csdn.net/developer_jiangqq/article/details/49992269 本文出自:[江清清的博客] (一).前言: [好消息] ...

  10. OpenGL学习一

    作者:朱金灿 来源:http://blog.csdn.net/clever101 回家计划学习OpenGL开发.没有开发机子,用的是别人的笔记本,不想装庞大的VS,于是选择小巧一点的codeblock ...