這篇文章主要介紹angularjs下拉框空白怎么辦,文中介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們一定要看完!
成都創(chuàng)新互聯(lián)公司主營(yíng)北戴河網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營(yíng)網(wǎng)站建設(shè)方案,重慶APP軟件開(kāi)發(fā),北戴河h5成都微信小程序搭建,北戴河網(wǎng)站營(yíng)銷推廣歡迎北戴河等地區(qū)企業(yè)咨詢
搜索angularjs下拉框空白,可以出現(xiàn)很多解決方案,但是對(duì)于靜態(tài)字段來(lái)說(shuō),網(wǎng)上目前還沒(méi)有找到解決方案,如下:
<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)上的方法來(lái)解決,首先需要把下拉選項(xiàng)存放到一個(gè)對(duì)象數(shù)組當(dāng)中,對(duì)于一個(gè)兩個(gè)下拉框還好說(shuō),如果項(xiàng)目當(dāng)中有很多這種下拉框,就要費(fèi)好大勁了。最簡(jiǎn)單粗暴的方法是修改angularjs源代碼,不再生成空白符。奈何功力有限,未能找到相應(yīng)添加空白行的地方,不過(guò)值得欣慰的是,發(fā)現(xiàn)出現(xiàn)空白符是因?yàn)槭褂昧薾g-model的原因,干脆寫個(gè)指令來(lái)替代ng-model的功能也可以解決下拉空白的問(wèn)題,于是寫了一個(gè)指令:
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即可實(shí)現(xiàn)相同的功能,同時(shí)不會(huì)出現(xiàn)下拉空白,當(dāng)然,這個(gè)指令畢竟是自己隨便寫的幾行代碼,遠(yuǎn)遠(yuǎn)不如ng-model強(qiáng)大,比如動(dòng)態(tài)修改指令綁定的值來(lái)改變選中項(xiàng)還不能實(shí)現(xiàn),僅僅可以在第一次初始化時(shí)綁定選中項(xiàng),另外也不支持ng-selected。如果讀者有興趣,可以自己實(shí)現(xiàn)后續(xù)的功能,對(duì)于我來(lái)說(shuō),已經(jīng)可以滿足需要了。
以上是“angularjs下拉框空白怎么辦”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對(duì)大家有幫助,更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!
分享名稱:angularjs下拉框空白怎么辦
分享鏈接:http://jinyejixie.com/article10/ggeigo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站建設(shè)、軟件開(kāi)發(fā)、全網(wǎng)營(yíng)銷推廣、網(wǎng)站營(yíng)銷、Google、網(wǎng)站維護(hù)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)