时间:2021-05-28
搜索angularjs下拉框空白,可以出现很多解决方案,但是对于静态字段来说,网上目前还没有找到解决方案,如下:
<select class="form-control" ng-model="UserState" ng-init="UserState=0"> <option value="-1">选择状态</option> <option value="0">在职</option> <option value="1">离职</option> </select>如果要按照网上的方法来解决,首先需要把下拉选项存放到一个对象数组当中,对于一个两个下拉框还好说,如果项目当中有很多这种下拉框,就要费好大劲了。最简单粗暴的方法是修改angularjs源代码,不再生成空白符。奈何功力有限,未能找到相应添加空白行的地方,不过值得欣慰的是,发现出现空白符是因为使用了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即可实现相同的功能,同时不会出现下拉空白,当然,这个指令毕竟是自己随便写的几行代码,远远不如ng-model强大,比如动态修改指令绑定的值来改变选中项还不能实现,仅仅可以在第一次初始化时绑定选中项,另外也不支持ng-selected。如果读者有兴趣,可以自己实现后续的功能,对于我来说,已经可以满足需要了。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
1.下拉框声明 2.初始化下拉框//////初始化下拉框///publicvoidSetDirComboBox(){DirComboBox.ItemsSo
复制代码代码如下:下拉框模拟只读//根据下拉框ID设置下拉框只读functionsetReadOnly(obj_id){varobj=document.getE
一、百度下拉框作为一名网站运营人员,基本上都知道百度下拉框的内容是某个词语的关联度最强搜索量最高的组合词,所以,百度下拉框就是一个最好的长尾关键词的挖掘办法,最
一、百度下拉框作为一名网站运营人员,基本上都知道百度下拉框的内容是某个词语的关联度最强搜索量最高的组合词,所以,百度下拉框就是一个最好的长尾关键词的挖掘办法,最
很多群员问了关于下拉框美化的问题,现打一个下拉框美化的制作过程,其实是模拟出来的下拉框。问题1:为什么要模拟下拉框?1,浏览器自带的下拉框样式不好看。2,在ie