首页 > web前端 > js教程 > 正文

angularjs下拉框空白解决方案

PHP中文网
发布: 2017-06-20 10:12:51
原创
1631人浏览过

        搜索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>
登录后复制

  如果要按照网上的方法来解决,首先需要把下拉选项存放到一个对象数组当中,对于一个两个下拉框还好说,如果项目当中有很多这种下拉框,就要费好大劲了。最简单粗暴的方法是修改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<options.length;i++)15                             {16                                 if(selectValue==options[i].value)17                                 {18                                     options[i].setAttribute("selected",true);19                                     break;20                                 }21                             }22                         }23                     },24                     post:function(scope, iElement, iAttrs){25                         element.on("change",function () {26                             var selectValue=this.value;27                             scope.$apply(function () {28                                scope[dModel]= selectValue;29                             });30                         })31                     }32                 }33             }34 35         }36     });

卡拉OK视频制作
卡拉OK视频制作

卡拉OK视频制作,在几分钟内制作出你的卡拉OK视频

卡拉OK视频制作 178
查看详情 卡拉OK视频制作

  

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

以上就是angularjs下拉框空白解决方案的详细内容,更多请关注php中文网其它相关文章!

相关标签:
最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号