摘要:我要處理的問題是,從請(qǐng)求中獲取到的數(shù)據(jù)依次回顯到三個(gè)分別代表省市區(qū)的標(biāo)簽中。雖然看起來清晰,處理省市區(qū)的代碼在哪一塊很分明,但看起來代碼上是有一些啰嗦了,而且鼠標(biāo)上下滾動(dòng),這手也是挺累的哈。所以用下面這個(gè)版本避免代碼重復(fù)的問題。
我要處理的問題是,從請(qǐng)求中獲取到的 obj.data.address 數(shù)據(jù)依次回顯到三個(gè)分別代表省、市、區(qū) 的select標(biāo)簽中。但是我obj.data.address只有類似這樣的數(shù)據(jù) ("廣東省珠海市香洲區(qū)XX街道XX號(hào)"),我要怎么根據(jù)這個(gè)地址數(shù)據(jù)來修改這三個(gè)select的顯示的呢?
思路:使用用字符串的 startsWith方法
eg:
"廣東省珠海市香洲區(qū)XX街道XX號(hào)".startsWith("廣東省")返回true,省份select的值被確定,然后將 “廣東省” 從地址中刪除掉address.replace("廣東省", "").
"珠海市香洲區(qū)XX街道XX號(hào)".startsWith("珠海市")返回true,市區(qū)select的值被確定,同樣在address中刪掉已匹配到的結(jié)果.
"香洲區(qū)XX街道XX號(hào)".startsWith("香洲區(qū)")返回true,市區(qū)select的值被確定,同樣在address中刪掉已匹配到的結(jié)果.
現(xiàn)在 address中只剩下xxx街道xxx號(hào),自然就是街道信息了,將它放在表示街道的表單域中.
// address let address = obj.data.address; /* -- 省份 -- */ var proviceNodeList = document.querySelectorAll("#province option") let province = Array.from(proviceNodeList).filter(ele => { return address.startsWith( ele.value ) && ele.value != "" })[0]; $("#province").val(province = (province==undefined ? "" : province.value)).change(); address = address.replace(province, ""); //console.log(province + "替換后", address) /* -- 市區(qū) -- */ var cityNodeList = document.querySelectorAll("#city option") let city = Array.from(cityNodeList).filter(ele => { return address.startsWith( ele.value ) && ele.value != "" })[0]; $("#city").val(city = (city==undefined ? "" : city.value)).change(); address = address.replace(city, ""); //console.log(city + "替換后", address) /* -- 縣區(qū) -- */ var countyNodeList = document.querySelectorAll("#county option") let county = Array.from(countyNodeList).filter(ele => { return address.startsWith( ele.value ) && ele.value != "" })[0]; $("#county").val(county = (county==undefined ? "" : county.value)).change(); address = address.replace(county, ""); //console.log(county + "替換后", address) /* 街道 */ $("#street").val(address)
上面的方式確實(shí)是能解決問題。雖然看起來清晰,處理(省、市、區(qū))的代碼在哪一塊很分明,但看起來代碼上是有一些啰嗦了,而且鼠標(biāo)上下滾動(dòng),這手也是挺累的哈。所以用下面這個(gè)版本避免代碼重復(fù)的問題。測(cè)試之后功能沒丟,心里極舒服。
但是萬一后面出現(xiàn)問題,覺得要調(diào)試這段代碼也是麻煩呢..
// address let address = obj.data.address; ["province", "city", "county"].map(el => { var nodeList = document.querySelectorAll("#"+ el +" option") let option = Array.from(nodeList).filter(ele => { return address.startsWith( ele.value ) && ele.value != "" })[0]; $("#" + el).val(option = (option==undefined ? "" : option.value)).change(); address = address.replace(option, ""); }) // 街道 $("#street").val(address)
最后,8月份.您好!兵哥哥們辛苦了,因?yàn)槟銈?,祖國才越來越?qiáng)大。
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/96522.html
摘要:跟蹤獨(dú)立表單控件的值和驗(yàn)證狀態(tài)。當(dāng)使用響應(yīng)式表單時(shí),類是最基本的構(gòu)造塊。因此在查看單個(gè)表單是否有錯(cuò)誤信息時(shí),必須先判斷是子組件還是孫子組件。方法檢查組內(nèi)是否有一個(gè)具有指定名字的已啟用的控件,存在返回,不存在返回。 1、案例需求 表單提交,表單全部校驗(yàn)成功才能提交,當(dāng)表單校驗(yàn)錯(cuò)誤,表單邊框變紅,同時(shí)有錯(cuò)誤提示信息,有重置功能 在線預(yù)覽 git倉庫 2、名詞解釋 在分析代碼之前,首先明...
摘要:中的其實(shí)是有動(dòng)態(tài)加載次級(jí)選項(xiàng)的方法。方法的原理是利用址引用傳遞,動(dòng)態(tài)修改。其中找到究竟需要在那層添加數(shù)據(jù)就變成一個(gè)很麻煩的問題。 element中的cascader其實(shí)是有動(dòng)態(tài)加載次級(jí)選項(xiàng)的方法。方法的原理是利用址(引用)傳遞,動(dòng)態(tài)修改:options。 var c={name: bob} var d=c d.name = tom console.log(c) // {name: to...
摘要:中的其實(shí)是有動(dòng)態(tài)加載次級(jí)選項(xiàng)的方法。方法的原理是利用址引用傳遞,動(dòng)態(tài)修改。其中找到究竟需要在那層添加數(shù)據(jù)就變成一個(gè)很麻煩的問題。格式化數(shù)據(jù)格式返回清除方法 element中的cascader其實(shí)是有動(dòng)態(tài)加載次級(jí)選項(xiàng)的方法。方法的原理是利用址(引用)傳遞,動(dòng)態(tài)修改:options。 var c={name: bob} var d=c d.name = tom console.log(c)...
摘要:中的其實(shí)是有動(dòng)態(tài)加載次級(jí)選項(xiàng)的方法。方法的原理是利用址引用傳遞,動(dòng)態(tài)修改。其中找到究竟需要在那層添加數(shù)據(jù)就變成一個(gè)很麻煩的問題。格式化數(shù)據(jù)格式返回清除方法 element中的cascader其實(shí)是有動(dòng)態(tài)加載次級(jí)選項(xiàng)的方法。方法的原理是利用址(引用)傳遞,動(dòng)態(tài)修改:options。 var c={name: bob} var d=c d.name = tom console.log(c)...
摘要:選擇該頁面綁定的標(biāo)簽指定圖片上傳處理目錄注其中為了顯示為中文,標(biāo)明了中文,同時(shí)需要下載語言包放到對(duì)應(yīng)的文件夾下。 前言 我們常因?yàn)閐jango的自帶admin后臺(tái)功能而選擇該框架,但也因?yàn)槠渥詣?dòng)生成的特殊性而在做出特別的更改的時(shí)候束手束腳,鑒于項(xiàng)目已經(jīng)采用了django,而后臺(tái)要求能夠直接上傳富文本內(nèi)容直接用于網(wǎng)頁顯示,定制性高,后來翻了目前較為知名的幾款富文本編輯框,覺得還是tiny...
閱讀 1383·2021-11-22 15:25
閱讀 3390·2021-10-21 09:38
閱讀 1600·2021-10-19 13:21
閱讀 1025·2021-09-06 15:00
閱讀 1705·2019-08-30 15:44
閱讀 2613·2019-08-29 15:40
閱讀 3480·2019-08-29 13:44
閱讀 2090·2019-08-26 16:56