【问题标题】:Angularjs Select Option set to first item did not workAngularjs选择选项设置为第一项不起作用
【发布时间】:2016-05-16 19:06:55
【问题描述】:

我正在使用角度和语义用户界面。我正在尝试通过选择选项来选择 Y 和 N。基本上我只想在页面出现时选择第一个项目。尝试了很多方法,但我无法使其工作。

请看一下这个笨蛋。

angular.module('myapp', [])

.controller('testctrl', function ($scope){
  $scope.add = {};
  $scope.Consigns = [{value: 'N',label: 'N'}, {value: 'Y',label: 'Y'}];
  $scope.add.consign = $scope.Consigns[0].label;
})

.controller('testctrl1', function ($scope){
  $scope.add = {};
  $scope.Consigns1 = [{value: 'N',label: 'N'}, {value: 'Y',label: 'Y'}];
  $scope.add.consign1 = $scope.Consigns1[0].label;
});

https://plnkr.co/edit/cHcLd14xKFxLMS4uy0BM?p=preview

【问题讨论】:

  • 您应该在使用完整对象时初始化您的 add.consign 而不仅仅是标签
  • 你看到我的回答了吗?
  • @Erez 你所说的完整对象是什么意思?请参阅更新 plnker
  • 与 Dev-One 答案相同

标签: javascript angularjs


【解决方案1】:

在默认占位符中打印模型值。您可以发送整个对象并打印所需的内容,而不是发送 $scope.add.consign 中的 label 值。

工作人员:https://plnkr.co/edit/XeuiS7p3K1OOx5nHL9c5?p=preview

【讨论】:

    【解决方案2】:

    javascript:

     $scope.ListOrder =
            [
                { Name: "price", Id: 1 },
                { Name: "exist", Id: 2 },
                { Name: "Sale", Id: 3 },
                { Name: "New", Id: 4 }
            ];
     $scope.Order = { Name: "exist", Id: 1 };
    

    HTML:

     <select ng-model="Order" ng-options="obj.Name for obj in ListOrder"></select>
    

    【讨论】:

      【解决方案3】:

      删除

       <script>
         $('.ui.dropdown').dropdown();
      </script>
      

      并将选择标签更改为此

       <select ng-model="add.consign" class="ui fluid dropdown" ng-options="x.label as x.label for x in Consigns">
                <option value=""></option>
       </select>
      

      【讨论】:

      • 删除脚本标签将删除一些我希望保留的下拉菜单样式,尽管它以您的方式工作
      猜你喜欢
      • 2020-05-01
      • 1970-01-01
      • 1970-01-01
      • 2016-05-06
      • 1970-01-01
      • 2018-02-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多