angular下拉框点击无反应_angularjs下拉框空白的解决办法

本文介绍了在AngularJS中遇到下拉框显示空白的常见问题,特别是对于静态字段的情况。作者发现问题出在ng-model的使用上,并提出通过创建自定义指令'dModel'来替代ng-model,从而避免下拉框空白。该指令在初始化时能绑定选中项,但不支持动态修改和ng-selected功能。这是一个快速解决方法,适合项目中多个下拉框的场景,但对于更复杂的需求,读者可以进一步扩展该指令的功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

angularjs下拉框空白的解决办法

发布于 2020-4-21|

复制链接

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

```xhtml

选择状态 ..

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

```xhtml

选择状态

在职

离职

```

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

```javascript

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值