【问题标题】:Blank select option #ngValue空白选择选项#ngValue
【发布时间】:2016-06-09 14:38:44
【问题描述】:

如何避免表单输出中出现空白选项?

 <select class="form-control" ng-model="item.type" >
                                <option ng-value="0">Real</option>
                                <option ng-value="1">Fake</option>
                                <option ng-value="2">Both</option>
                            </select>

item.type 在控制器中设置

由于使用了 ng-value 和 item.type 的值已经设置的事实,问题与我在类似主题中看到的略有不同

编辑:将ng-value 更改为value 解决了这个问题。

【问题讨论】:

  • “空白行”是什么意思?您的意思是选择中的空白条目选项吗?

标签: javascript angularjs angularjs-ng-value


【解决方案1】:

控制器中的 item.type 是如何设置的?

空行是 item.type 的当前值。如果在控制器中将其设置为对象,则以这种方式显示是正常的。尝试将其设置为您拥有的 3 个选项之一:

   angular.module('yourModule').controller('ctrl', function($scope)){
       $scope.item = {}; //edited
       $scope.item.type = "1"; // or 2, or 0
   }

这就是 Angular 处理双向数据绑定的方式。如果您的 item.type 的值与任何选项都不匹配,添加另一个空行是正常的。

编辑:

<select class="form-control" ng-model="item.type" >
    <option value="0">Real</option>
    <option value="1">Fake</option>
    <option value="2">Both</option>
</select>

【讨论】:

  • 另外,您可以添加一个选项来处理空​​(空白)值。
  • 我也试过,但它只增加了选项列表。初始值仍然是 balnk
  • @BaviGurunath - $scope.item.type 的值是多少?它一定不是你的选择
  • @jbrown 是'1',是字符串值
  • @BaviGurunath - 好吧,那我难住了。您需要安装一个 plunker 以便我们查看全局并为您提供帮助。
【解决方案2】:

空白选项的问题是由于 ng-model 与 ng-option 值不匹配。您能否使用 {{item.type}} 在视图中打印 item.type 的值。

进行以下更改。

在控制器中将 item.type 设置为

$scope.item = {}; $scope.item.type = "1";

在 html 中进行以下更改。

<select class="form-control" ng-model="item.type" >
                            <option value="0">Real</option>
                            <option value="1">Fake</option>
                            <option value="2">Both</option>
                        </select> 

【讨论】:

  • 你的意思是 {{item.type}}?它显示“1”。而且,是的, item.type 的值是字符串。我认为它会导致问题,但我不知道如何解决它
猜你喜欢
  • 1970-01-01
  • 2016-08-15
  • 2012-01-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多