首页 > 编程知识 正文

js省份城市二级联动源码(ajax省市区三级联动代码)

时间:2023-12-24 12:06:04 阅读:321503 作者:UEES

本文目录一览:

bootstrap-select.js 怎么联动改变,例如:省份,城市二级联动。

“bootstrap-select.js ”联动改变方式如下:

1、多选效果

可以设置最多只能选几个

2、图文结合的效果

3、远程搜索功能(即在用户输入搜索内容时动态去后台取数据)

输入内容前

输入空格搜索出全部

滚动条滑动到底部自动加载剩余项

输入文本动态去后台过滤

更高级的用法如:

代码示例如下:

1、多选效果

select2的多选很简单,设置一个属性就好了。

script src="~/Scripts/jquery-1.10.2.js"/script

script src="~/Content/bootstrap/js/bootstrap.js"/script

link href="~/Content/bootstrap/css/bootstrap.css" rel="stylesheet" / 

script src="~/Content/select2-master/dist/js/select2.js"/script

link href="~/Content/select2-master/dist/css/select2.css" rel="stylesheet" / 

select id="sel_menu2" multiple="multiple" class="form-control"

         optgroup label="系统设置"

              option value="1"用户管理/option

              option value="2"角色管理/option

              option value="3"部门管理/option

              option value="4"菜单管理/option

         /optgroup

         optgroup label="订单管理"

              option value="5"订单查询/option

              option value="6"订单导入/option

              option value="7"订单删除/option

              option value="8"订单撤销/option

         /optgroup

         optgroup label="基础数据"

              option value="9"基础数据维护/option

          /optgroup

     /select

 //多选

 $("#sel_menu2").select2({        

 tags: true,        

 maximumSelectionLength: 3  //最多能够选择的个数    });

2、图文结合的效果

select id="sel_menu" class="js-example-templating js-states form-control"

             optgroup label="系统设置"

                 option value="1"用户管理/option

                 option value="2"角色管理/option

                 option value="3"部门管理/option

                 option value="4"菜单管理/option

             /optgroup

             optgroup label="订单管理"

                 option value="5"订单查询/option

                 option value="6"订单导入/option

                 option value="7"订单删除/option

                 option value="8"订单撤销/option

             /optgroup

             optgroup label="基础数据"

                 option value="9"基础数据维护/option

             /optgroup

         /select

$(function () {    

 //带图片    

 $("#sel_menu").select2({        

 templateResult: formatState,        

 templateSelection: formatState    

 });

 });

 function formatState(state) {    

 if (!state.id) { return state.text; }    

 var $state = $(      

 'spanimg src="/content/images/' + state.element.value.toLowerCase() + '.ico" class="img-flag" / ' + state.text + '/span'    

 );    

 return $state;};

3、远程搜索功能(即在用户输入搜索内容时动态去后台取数据)

select id="sel_menu3" class="js-data-example-ajax form-control"

      option value="3620194" selected="selected"请选择/option

 /select

$(function () {    //远程筛选

    $("#sel_menu3").select2({

        ajax: {

            url: "/Home/GetProvinces",

            dataType: 'json',

            delay: 250,

            data: function (params) {                

            return {

                    q: params.term, // search term                    page: params.page

                };

            },

            processResults: function (data, params) {

                params.page = params.page || 1;                

                return {

                    results: data.items,

                    pagination: {

                        more: (params.page * 10)  data.total_count

                    }

                };

            },

            cache: true

        },

        escapeMarkup: function (markup) { return markup; }, // let our custom formatter work

        minimumInputLength: 1,

        templateResult: formatRepoProvince, // omitted for brevity, see the source of this page

        templateSelection: formatRepoProvince // omitted for brevity, see the source of this page    });

});

function formatRepoProvince(repo) {    

if (repo.loading) return repo.text;    

var markup = "div"+repo.name+"/div";    

return markup;

}

这里有要注意的一个地方就是processResults属性对应的方法有一个more属性用于是否分页显示的,这里的值要和你需要一次显示的值的条数匹配。

后台对应的方法如下:

public Liststring lstProvince = new Liststring() {"北京市","天津市","重庆市","上海市","河北省","山西省","辽宁省","吉林省","黑龙江省","江苏省","浙江省","安徽省","福建省","江西省","山东省","河南省","湖北省","湖南省","广东省","海南省","四川省","贵州省","云南省","陕西省","甘肃省","青海省","台湾省","内蒙古自治区","广西壮族自治区","西藏自治区","宁夏回族自治区","新疆维吾尔自治区","香港特别行政区","澳门特别行政区" };        

public JsonResult GetProvinces(string q, string page)

        {            

        var lstRes = new ListProvince();            

        for (var i = 0; i  30; i++)            

        {                

        var oProvince = new Province();                

        oProvince.id = i;                

        oProvince.name = lstProvince[i];                

        lstRes.Add(oProvince);            

        }            

        if (!string.IsNullOrEmpty(q.Trim()))            

        {                

        lstRes = lstRes.Where(x = x.name.Contains(q)).ToList();            }            

        var lstCurPageRes = string.IsNullOrEmpty(page) ? lstRes.Take(10) : lstRes.Skip(Convert.ToInt32(page) * 10 - 10).Take(10);            

        return Json(new { items = lstCurPageRes, total_count = lstRes.Count }, JsonRequestBehavior.AllowGet);        }

JS实现一级地区和二级地区联动!求高手改代码!!!万分感谢!!!

你看看这个吧,就是第一个变动触发onchange事件,获取对应的二级地区,上面是用ajax从数据库获取二级地区,然后把二级下拉option清空,往Select对象中加入获取到的二级地区

javascript实现二级联动,比如连个下拉列表,一个选择省份,另一个自动出现相应城市

script language=vbScript

!--

public x(33)

x( 0 )="东城,西城,崇文,宣武,朝阳,丰台,石景山,海淀,门头沟,房山,通州,顺义,昌平,大兴,平谷,怀柔,密云,延庆"

x( 1 )="黄浦,卢湾,徐汇,长宁,静安,普陀,闸北,虹口,杨浦,闵行,宝山,嘉定,浦东,金山,松江,青浦,南汇,奉贤,崇明"

x( 2 )="和平,东丽,河东,西青,河西,津南,南开,北辰,河北,武清,红挢,塘沽,汉沽,大港,宁河,静海,宝坻,蓟县"

x( 3 )="万州,涪陵,渝中,大渡口,江北,沙坪坝,九龙坡,南岸,北碚,万盛,双挢,渝北,巴南,黔江,长寿,綦江,潼南,铜梁,大足,荣昌,壁山,梁平,城口,丰都,垫江,武隆,忠县,开县,云阳,奉节,巫山,巫溪,石柱,秀山,酉阳,彭水,江津,合川,永川,南川"

x( 4 )="石家庄,邯郸,邢台,保定,张家口,承德,廊坊,唐山,秦皇岛,沧州,衡水"

x( 5 )="太原,大同,阳泉,长治,晋城,朔州,吕梁,忻州,晋中,临汾,运城"

x( 6 )="呼和浩特,包头,乌海,赤峰,呼伦贝尔盟,阿拉善盟,哲里木盟,兴安盟,乌兰察布盟,锡林郭勒盟,巴彦淖尔盟,伊克昭盟"

x( 7 )="沈阳,大连,鞍山,抚顺,本溪,丹东,锦州,营口,阜新,辽阳,盘锦,铁岭,朝阳,葫芦岛"

x( 8 )="长春,吉林,四平,辽源,通化,白山,松原,白城,延边"

x( 9 )="哈尔滨,齐齐哈尔,牡丹江,佳木斯,大庆,绥化,鹤岗,鸡西,黑河,双鸭山,伊春,七台河,大兴安岭"

x( 10 )="南京,镇江,苏州,南通,扬州,盐城,徐州,连云港,常州,无锡,宿迁,泰州,淮安"

x( 11 )="杭州,宁波,温州,嘉兴,湖州,绍兴,金华,衢州,舟山,台州,丽水"

x( 12 )="合肥,芜湖,蚌埠,马鞍山,淮北,铜陵,安庆,黄山,滁州,宿州,池州,淮南,巢湖,阜阳,六安,宣城,亳州"

x( 13 )="福州,厦门,莆田,三明,泉州,漳州,南平,龙岩,宁德"

x( 14 )="南昌市,景德镇,九江,鹰潭,萍乡,新馀,赣州,吉安,宜春,抚州,上饶"

x( 15 )="济南,青岛,淄博,枣庄,东营,烟台,潍坊,济宁,泰安,威海,日照,莱芜,临沂,德州,聊城,滨州,菏泽"

x( 16 )="郑州,开封,洛阳,平顶山,安阳,鹤壁,新乡,焦作,濮阳,许昌,漯河,三门峡,南阳,商丘,信阳,周口,驻马店,济源"

x( 17 )="武汉,宜昌,荆州,襄樊,黄石,荆门,黄冈,十堰,恩施,潜江,天门,仙桃,随州,咸宁,孝感,鄂州"

x( 18 )="长沙,常德,株洲,湘潭,衡阳,岳阳,邵阳,益阳,娄底,怀化,郴州,永州,湘西,张家界"

x( 19 )="广州,深圳,珠海,汕头,东莞,中山,佛山,韶关,江门,湛江,茂名,肇庆,惠州,梅州,汕尾,河源,阳江,清远,潮州,揭阳,云浮"

x( 20 )="南宁,柳州,桂林,梧州,北海,防城港,钦州,贵港,玉林,南宁地区,柳州地区,贺州,百色,河池"

x( 21 )="海口,三亚"

x( 22 )="成都,绵阳,德阳,自贡,攀枝花,广元,内江,乐山,南充,宜宾,广安,达川,雅安,眉山,甘孜,凉山,泸州"

x( 23 )="贵阳,六盘水,遵义,安顺,铜仁,黔西南,毕节,黔东南,黔南"

x( 24 )="昆明,大理,曲靖,玉溪,昭通,楚雄,红河,文山,思茅,西双版纳,保山,德宏,丽江,怒江,迪庆,临沧"

x( 25 )="拉萨,日喀则,山南,林芝,昌都,阿里,那曲"

x( 26 )="西安,宝鸡,咸阳,铜川,渭南,延安,榆林,汉中,安康,商洛"

x( 27 )="兰州,嘉峪关,金昌,白银,天水,酒泉,张掖,武威,定西,陇南,平凉,庆阳,临夏,甘南"

x( 28 )="银川,石嘴山,吴忠,固原"

x( 29 )="西宁,海东,海南,海北,黄南,玉树,果洛,海西"

x( 30 )="乌鲁木齐,石河子,克拉玛依,伊犁,巴音郭勒,昌吉,克孜勒苏柯尔克孜,博 尔塔拉,吐鲁番,哈密,喀什,和田,阿克苏"

x( 31 )=""

x( 32 )=""

x( 33 )="台北,高雄,台中,台南,屏东,南投,云林,新竹,彰化,苗栗,嘉义,花莲,桃园,宜兰,基隆,台东,金门,马祖,澎湖"

function test(a,b)

dim num,x1,i

num =a.selectedIndex

x1=split(x(num),",")

b.options.length=ubound(x1)+1

For i = 0 to ubound(x1)

b.options(i).text =x1(i)

b.options(i).value = x1(i)

next

end function

--

/script

body

select name="a" size=1 onChange="vbscript:test a,b"

option value= 0 北京/option

option value= 1 上海/option

option value= 2 天津/option

option value= 3 重庆/option

option value= 4 河北/option

option value= 5 山西/option

option value= 6 内蒙古/option

option value= 7 辽宁/option

option value= 8 吉林/option

option value= 9 黑龙江/option

option value= 10 江苏/option

option value= 11 浙江/option

option value= 12 安徽/option

option value= 13 福建/option

option value= 14 江西/option

option value= 15 山东/option

option value= 16 河南/option

option value= 17 湖北/option

option value= 18 湖南/option

option value= 19 广东/option

option value= 20 广西/option

option value= 21 海南/option

option value= 22 四川/option

option value= 23 贵州/option

option value= 24 云南/option

option value= 25 西藏/option

option value= 26 陕西/option

option value= 27 甘肃/option

option value= 28 宁夏/option

option value= 29 青海/option

option value= 30 新疆/option

option value= 31 香港/option

option value= 32 澳门/option

option value= 33 台湾/option

/select

select name="b"

/select

拷贝到记事本.保存为.htm或.asp

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。