本文目錄一覽:
- 1、bootstrap-select.js 怎麼聯動改變,例如:省份,城市二級聯動。
- 2、JS實現一級地區和二級地區聯動!求高手改代碼!!!萬分感謝!!!
- 3、javascript實現二級聯動,比如連個下拉列表,一個選擇省份,另一個自動出現相應城市
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
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/270223.html