angularjs下拉框空白的解決辦法
搜索angularjs下拉框空白,可以出現(xiàn)很多解決方案,但是對于靜態(tài)字段來說,網(wǎng)上目前還沒有找到解決方案,如下:
<select class="form-control" ng-model="UserState" ng-init="UserState=0"> <option value="-1">選擇狀態(tài)</option> <option value="0">在職</option> <option value="1">離職</option> </select>
如果要按照網(wǎng)上的方法來解決,首先需要把下拉選項存放到一個對象數(shù)組當中,對于一個兩個下拉框還好說,如果項目當中有很多這種下拉框,就要費好大勁了。最簡單粗暴的方法是修改angularjs源代碼,不再生成空白符。奈何功力有限,未能找到相應(yīng)添加空白行的地方,不過值得欣慰的是,發(fā)現(xiàn)出現(xiàn)空白符是因為使用了ng-model的原因,干脆寫個指令來替代ng-model的功能也可以解決下拉空白的問題,于是寫了一個指令:
app.directive("dModel",function () { return { restrict:'A', compile:function(element, attrs, transclude){ console.log(transclude); var dModel=attrs["dModel"]; return{ pre:function(scope, iElement, iAttrs){ var selectValue=scope[dModel]+""; if(selectValue) { var options=element.children(); for(var i=0;i<options.length;i++) { if(selectValue==options[i].value) { options[i].setAttribute("selected",true); break; } } } }, post:function(scope, iElement, iAttrs){ element.on("change",function () { var selectValue=this.value; scope.$apply(function () { scope[dModel]= selectValue; }); }) } } } } });
用該指令替代ng-model即可實現(xiàn)相同的功能,同時不會出現(xiàn)下拉空白,當然,這個指令畢竟是自己隨便寫的幾行代碼,遠遠不如ng-model強大,比如動態(tài)修改指令綁定的值來改變選中項還不能實現(xiàn),僅僅可以在第一次初始化時綁定選中項,另外也不支持ng-selected。如果讀者有興趣,可以自己實現(xiàn)后續(xù)的功能,對于我來說,已經(jīng)可以滿足需要了。
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- AngularJS動態(tài)生成select下拉框的方法實例
- angularjs 動態(tài)從后臺獲取下拉框的值方法
- angularJs-$http實現(xiàn)百度搜索時的動態(tài)下拉框示例
- AngularJS中下拉框的高級用法示例
- AngularJS中下拉框的基本用法示例
- Angularjs實現(xiàn)下拉框聯(lián)動的示例代碼
- angularjs 實現(xiàn)帶查找篩選功能的select下拉框?qū)嵗?/a>
- Angularjs實現(xiàn)帶查找篩選功能的select下拉框示例代碼
- AngularJS使用ng-repeat指令實現(xiàn)下拉框
- AngularJS實現(xiàn)多級下拉框
相關(guān)文章
AngularJS中$apply方法和$watch方法用法總結(jié)
這篇文章主要介紹了AngularJS中$apply方法和$watch方法用法,結(jié)合實例形式總結(jié)分析了$apply方法和$watch方法的功能、參數(shù)含義、使用技巧與相關(guān)注意事項,需要的朋友可以參考下2016-12-12AngularJS實現(xiàn)數(shù)據(jù)列表的增加、刪除和上移下移等功能實例
這篇文章給大家分享了AngularJS循環(huán)實現(xiàn)數(shù)據(jù)列表的增加、刪除和上移下移等基礎(chǔ)功能,對大家學(xué)習(xí)AngularJS具有一定的參考借鑒價值,有需要的朋友可以看看。2016-09-09angular8.5集成TinyMce5的使用和詳細配置(推薦)
這篇文章主要介紹了angular8.5集成TinyMce5的使用和詳細配置,本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-11-11Angularjs實現(xiàn)下拉框聯(lián)動的示例代碼
本篇文章主要介紹了Angularjs下拉框聯(lián)動的示例代碼,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-08-08