這篇文章將為大家詳細(xì)講解有關(guān)使用AngularJS怎么動(dòng)態(tài)生成select下拉框,文章內(nèi)容質(zhì)量較高,因此小編分享給大家做個(gè)參考,希望大家閱讀完這篇文章后對(duì)相關(guān)知識(shí)有一定的了解。
十多年專注成都網(wǎng)站制作,成都企業(yè)網(wǎng)站建設(shè),個(gè)人網(wǎng)站制作服務(wù),為大家分享網(wǎng)站制作知識(shí)、方案,網(wǎng)站設(shè)計(jì)流程、步驟,成功服務(wù)上千家企業(yè)。為您提供網(wǎng)站建設(shè),網(wǎng)站制作,網(wǎng)頁(yè)設(shè)計(jì)及定制高端網(wǎng)站建設(shè)服務(wù),專注于成都企業(yè)網(wǎng)站建設(shè),高端網(wǎng)頁(yè)制作,對(duì)混凝土攪拌罐車等多個(gè)方面,擁有豐富的網(wǎng)站維護(hù)經(jīng)驗(yàn)。一、select相關(guān)知識(shí)
其中,value 是存儲(chǔ)到數(shù)據(jù)庫(kù)的值,在此處為0,1,2這些數(shù)值,label 為顯示在頁(yè)面的值,在此處為Html、Java這些字符。
二、ng-options
1.數(shù)組作為數(shù)據(jù)源
label for value in array
select as label for value in array
label group by group for value in array
代碼1(數(shù)組中為字符串)
最終得到的結(jié)果為:
需要注意的是,在最后生成的html代碼中option的value 值為String:baidu ,會(huì)在數(shù)組中原有的字符串之前加上其類型的標(biāo)識(shí),這個(gè)通過(guò)百度了解到是因?yàn)閍ngularjs版本問(wèn)題造成,具體未測(cè)試。
代碼2(數(shù)組中為一個(gè)對(duì)象)
最終得到的html代碼為:
通過(guò)生成的html代碼,我們可以看到這樣寫會(huì)使得最終的option 的value 值顯示為數(shù)據(jù)類型,而實(shí)際想要得到的結(jié)果是顯示我們選中的值,因此需要寫為:
ng-options="c.id as c.name for c in coms"
其中,c.id 對(duì)應(yīng)value ,c.name 對(duì)應(yīng)label 。生成html代碼為:
代碼3(根據(jù)對(duì)象屬性分類)
得到的html代碼為:
注意事項(xiàng)(默認(rèn)選中問(wèn)題)
通過(guò)以上最終得到的HTML代碼可以發(fā)現(xiàn),每次生成的代碼都會(huì)默認(rèn)選中一個(gè)空白的選項(xiàng),如果需要手動(dòng)指定一個(gè)默認(rèn)選中值應(yīng)該怎么設(shè)置?
我們有兩種方式(此處代碼不完整,驗(yàn)證時(shí)請(qǐng)將html部分補(bǔ)充完整):
2.對(duì)象作為數(shù)據(jù)源
label for (key, value) in object
代碼展示
{{name4}}
3.全部語(yǔ)法
for array data sources:
label for value in array
select as label for value in array
label group by group for value in array
label disable when disable for value in array
label group by group for value in array track by trackexpr
label disable when disable for value in array track by trackexpr
label for value in array | orderBy:orderexpr track by trackexpr(for including a filter with track by)
for object data sources:
label for (key , value) in object
select as label for (key ,value) in object
label group by group for (key,value) in object
label disable when disable for (key, value) in object
select as label group by group for(key, value) in object
select as label disable when disable for (key, value) in object
三、ng-repeat
代碼示例:
四、總結(jié)
使用ng-repeat動(dòng)態(tài)生成select比ng-option略微簡(jiǎn)單,但是ng-repeat有一定的局限性,選擇的值只能是一個(gè)字符串,而使用ng-option選擇的值可以是一個(gè)對(duì)象。
關(guān)于使用AngularJS怎么動(dòng)態(tài)生成select下拉框就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到。
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。