Rumah > hujung hadapan web > tutorial js > angularjs下拉框空白解决方案

angularjs下拉框空白解决方案

PHP中文网
Lepaskan: 2017-06-20 10:12:51
asal
1522 orang telah melayarinya

        搜索angularjs下拉框空白,可以出现很多解决方案,但是对于静态字段来说,网上目前还没有找到解决方案,如下:

1 <select class="form-control" ng-model="UserState"2         ng-init="UserState=0">3     <option value="-1">选择状态</option>4     <option value="0">在职</option>5     <option value="1">离职</option>6 </select>
Salin selepas log masuk

  如果要按照网上的方法来解决,首先需要把下拉选项存放到一个对象数组当中,对于一个两个下拉框还好说,如果项目当中有很多这种下拉框,就要费好大劲了。最简单粗暴的方法是修改angularjs源代码,不再生成空白符。奈何功力有限,未能找到相应添加空白行的地方,不过值得欣慰的是,发现出现空白符是因为使用了ng-model的原因,干脆写个指令来替代ng-model的功能也可以解决下拉空白的问题,于是写了一个指令:

 app.directive("dModel",function () { 2         return { 3             restrict:'A', 4             compile:function(element, attrs, transclude){ 5                 console.log(transclude); 6                 var dModel=attrs["dModel"]; 7                 return{ 8                     pre:function(scope, iElement, iAttrs){ 9 10                         var selectValue=scope[dModel]+"";11                         if(selectValue)12                         {13                             var options=element.children();14                             for(var i=0;i

  

   用该指令替代ng-model即可实现相同的功能,同时不会出现下拉空白,当然,这个指令毕竟是自己随便写的几行代码,远远不如ng-model强大,比如动态修改指令绑定的值来改变选中项还不能实现,仅仅可以在第一次初始化时绑定选中项,另外也不支持ng-selected。如果读者有兴趣,可以自己实现后续的功能,对于我来说,已经可以满足需要了。
Salin selepas log masuk

Atas ialah kandungan terperinci angularjs下拉框空白解决方案. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan