【问题标题】:In AngularJS, is there a way to set the size of a <select> element with scope value?在 AngularJS 中,有没有办法用范围值设置 <select> 元素的大小?
【发布时间】:2018-08-09 06:34:32
【问题描述】:

使用 AngularJS,我在 $scope 中设置带有一些数据的 HTML 表单元素。

<select  style='width:300px' size='10' ng-model='selected' ng-options='k as v for (k,v) in options' />

在本例中,size 设置为 10。但我想根据 $scope 中的某个值进行设置。有什么办法吗?

【问题讨论】:

  • 您是否尝试将您的值放入范围变量并在视图中调用它,例如 size="{{myselectSize}}" 其中 myselectSize 是 $scope.myselectSize = 10; ???
  • @Sakuya84 我试过了,但没有用。我认为 {{someValue}} 仅在 ng 属性中有效。
  • 那么我唯一能想到的就是为此创建一个简单的指令......

标签: angularjs


【解决方案1】:

使用ng-size='10' 而不是size

看起来像

<select  style='width:300px' ng-size={{size}} ng-model='selected' ng-options='k as v for (k,v) in options' />

js代码

$scope.size=10;

编辑

作为我们清理旧问题的努力的一部分,由于该问题已停用两个多月,因此将自动关闭。

请尝试最新版本的 Angular(1.0.8 和 1.2.0-rc.1),如果问题仍然存在,请在下方评论以便我们讨论。

新编辑

或者你可以这样做

data-ng-attr-size="{{some interpolated expression}}"

演示:http://plnkr.co/edit/a1xLPGn2YeW0WavH2auD?p=preview

谢谢!

【讨论】:

  • 我认为他们还没有实现...我在网站上找不到任何文档
  • 再看一次我的回答
  • @Sakuya84 请看我的回答老兄
  • 'data-ng-attr-size' 工作正常且易于使用。谢谢
  • @Icet 因为他使用的是低版本的 angular。
【解决方案2】:

对我来说,ng-attr-size 有效,而不是 size 或 ng-size。

下面将select的大小调整为名为options的对象的长度。

ng-attr-size={{options.length}}

【讨论】:

  • 它也适用于我。不幸的是,这个解决方案在 IE11 中崩溃了
猜你喜欢
  • 2020-06-10
  • 2015-05-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-12-11
相关资源
最近更新 更多