【问题标题】:AngularJS - Data binding default value of html selectAngularJS - html选择的数据绑定默认值
【发布时间】:2014-05-23 13:06:33
【问题描述】:

我想“数据绑定”一个 html/jade 选择的默认值。这是我的选择:

select#title.form-control(ng-model='newClient.title')
    option(ng-repeat='title in titles', ng-selected='$first') {{title}}

这里的问题是,如果我不触摸选择,我的 newClient.title 将被设置为 undefined 而不是第一个标题值。如果不在控制器中设置默认值,我该如何做到这一点?

【问题讨论】:

  • ng-selected="newClient.titles[0]"怎么样
  • ng-selected 是布尔值,newClient.title 是字符串...我不明白您要做什么?
  • 啊,nvm,刚刚看到你在 option 元素上重复了 - 你为什么不使用 ng-options
  • 因为我是 angularJS 新手,而且我没有正确的反应 :o) 让我试试...

标签: javascript angularjs angular-ngmodel


【解决方案1】:

您想使用 ng-options 来定义选项,然后简单地为第一个元素指定 ng-model。您不必担心 ng-init。

<select ng-options="title for title in titles" ng-model='titles[0]'></select>

作为参考,有一些很好的文档here

【讨论】:

    【解决方案2】:

    您可以使用ng-init 指令。

    ng-init="newClient.title = titles[0]"

    Fiddle Here

    翡翠格式:

    select#title.form-control(ng-model='newClient.title',ng-init="newClient.title = titles[0]")
        option(ng-repeat='title in titles', ng-value="title") {{title}}
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-03-25
      • 2015-10-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多