【问题标题】:Setting selected item in select在选择中设置所选项目
【发布时间】:2016-07-09 05:28:01
【问题描述】:

我在这里尝试了所有方法,但没有任何效果。我想在开始时将Yes 设置为选中。现在它只有一个空选项,然后是 Yes 和 No。

<div class="form-group" ng-class="{ 'has-error' : someForm.aktivan.$invalid && !someForm.active.$pristine }">
    <label class="control-label col-sm-2">Jep:</label>
    <div class="col-sm-10">
        <select class="form-control" name="ak" id="ak" ng-model="operater.ak" ng-options="o.value as o.option for o in items" required></select>
        <p ng-show="someForm.aktivan.$error.required && !someForm.aktivan.$pristine" class="help-block">Change the values</p>

    </div>
</div>

它来自:

$scope.items = [
    {
        value: 1,
        option: 'Yes'
    },
    {
        value: 0,
        option: 'No'
    }
];

【问题讨论】:

  • 一个空选项是什么意思??
  • @WasiqMuhammad 表示默认情况下没有选择任何内容。
  • 表示它没有价值,它的空白空间

标签: javascript angularjs select


【解决方案1】:

选项的value属性是一个字符串,所以你需要确保json中的value也是一个字符串

$scope.items = [{value:"1", option:'Yes'},{value:"0", option:'No'}];

编辑:

感谢@dfsq 的精彩评论,您只需将默认值设置为ngModel - 1 或 0。您不必将 json 中的项目的 value 更改为字符串,保持原样。

【讨论】:

  • 原版没问题,没必要用“1”和“0”。只需将ngModel 设置为1 或0。
  • @dfsq 你确定 Angular 在以这种方式使用时可以区分数字和字符串吗?
  • 是的,我确定。但不要怀疑,自己试试吧:plnkr.co/edit/bj0ZyWVBcKQoKzRIGgO0?p=preview
  • @dfsq 谢谢。我很快就会删除我的答案
  • 你仍然想知道如何:Angular 将类型信息存储在选项的值中:&lt;option label="Yes" value="number:1"&gt;Yes&lt;/option&gt;。
【解决方案2】:

试试这个

     $scope.operater.ak=0  

这将设置值

【讨论】:

    【解决方案3】:

    可以试试

    在html中:

    <select class="form-control" ng-model="operater.ak" ng-options="o.value as o.option for o in items" required></select>
    

    在控制器中:

    $scope.operater = {ak : 1};
    $scope.items = [{value:1, option:'Yes'},{value:0, option:'No'}];
    

    PLUNKER DEMO LINK

    【讨论】:

    • 打错字了,谢谢 :)
    猜你喜欢
    • 1970-01-01
    • 2017-07-25
    • 1970-01-01
    • 2019-04-18
    • 1970-01-01
    • 2015-11-08
    • 2012-08-20
    • 2017-07-02
    • 2017-03-05
    相关资源
    最近更新 更多