2024国产成人精品免费视频|日本免费一区二区三区毛片|久久97超碰色中文字幕|亚洲天堂a中文字幕

三級地區(qū)選擇插件LArea.js設置默認地區(qū)數(shù)據的方法

2017-09-01 17:06 欄目:技術開發(fā) 查看(10377)

微構網絡團隊在開發(fā)新一個移動商城項目的時候,負責個人中心模塊的小伙伴說這個類庫比之前我們自己直接寫的方案體驗更好些,其他的小伙伴看了一下還真是的,因為這個插件體驗非常接近IOS原生體驗(當然流暢度上還是不如原生的)。但這個同學說但是我在編輯的時候怎么辦啊,比如說一個收貨地址,原來已經選擇了湖南省—長沙市—芙蓉區(qū),那么編輯的時候總不讓還來重新選擇吧。

有一個小伙伴說人家京東也是這樣的,編輯的時候不管之前選了那座城市的哪個區(qū),編輯必須重新從北京開始選擇。馬上被我懟了回去,總不能看人家沒做好這個體驗就放棄吧,你都還沒開始研究就放棄,跟咱們團隊的文化不相符啊。其實在LArea.js插件中預留了關于默認值設置的API。

比如我們使用var area=new LArea();得到一個對象,那么我們可以使用以下代碼來設置插件初始化的地區(qū)選擇值:

area.value=[x,y,z];

其中的x、y、z就是三級地區(qū)當前所在的索引(我們可以理解我第幾條,默認從0開始),比如x=0的時候,默認肯定就是北京啦(第一個嘛)。這時候有人可能會想,就算我知道現(xiàn)在我選擇的是湖南省—長沙市—芙蓉區(qū),但我也不知道對應的x、y、z的值啊。其實這就是JavaScript基礎問題啦,比如當type=2時,我們可以通過遍歷數(shù)據源的json數(shù)據來得到x、y、z,如下就是最基礎的代碼(加上就是默認的數(shù)據源,省、市、區(qū)三級數(shù)據分別賦給provs_data、 citys_data、dists_data這三個變量,這也是插件默認數(shù)據包的樣子):

for(var i in provs_data){
	if(provs_data[i].text=='湖南省'){
	    var x=i;
	    var city=citys_data[provs_data[i].value];
	    for(var j in city){
			if(city[j].text=='長沙市'){
				var y=j;
				var district=dists_data[city[j].value];
				for(var k in district){
					if(district[k].text=='芙蓉區(qū)'){
						var z=k;
					}
				}
			}
	    }
	}
}

通過以上可以得到x=17,y=0,z=1,然后通過上述設置,那么就可以實現(xiàn)默認就選擇湖南省—長沙市—芙蓉區(qū),而不用用戶從北京開始選擇,這樣就可以極大的節(jié)省用戶的操作時間,提高用戶體驗。當然實際上我們可以做進一步的優(yōu)化處理,使得更加優(yōu)雅和穩(wěn)健、性能更加高效。

與我們的項目經理聯(lián)系
掃二維碼與項目經理溝通

我們在微信上24小時期待你的聲音

解答本文疑問/技術咨詢/運營咨詢/技術建議/互聯(lián)網交流

轉載請注明出處:三級地區(qū)選擇插件LArea.js設置默認地區(qū)數(shù)據的方法 - 微構網絡
分享:
天祝| 临汾市| 松滋市| 盈江县| 利川市| 石阡县| 来宾市| 土默特左旗| 汉川市| 五家渠市| 焦作市| 文山县| 兰考县| 商丘市| 婺源县| 保靖县| 郁南县| 武威市| 鲁山县| 卫辉市| 彭山县| 皮山县| 浠水县| 宜丰县| 安宁市| 青浦区| 宜良县| 吴川市| 衢州市| 田东县| 中牟县| 恩施市| 怀远县| 弋阳县| 孝昌县| 饶阳县| 读书| 阿巴嘎旗| 淮南市| 遵义县| 宿迁市|