首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >angularjs -如何基于原语而不是模型填充html选择元素选项

angularjs -如何基于原语而不是模型填充html选择元素选项
EN

Stack Overflow用户
提问于 2013-04-30 01:01:53
回答 2查看 22.3K关注 0票数 3

基本上,我有一个输入控制元素,您可以在其中输入您拥有的苹果总数,并根据苹果的数量设置您可以制作的迷你苹果派的最大数量(对于每个苹果,您可以制作一个迷你苹果派)。Angularjs文档声明使用ngOptions,但我只想基于一个原语(苹果的总数),而不是一个模型。

因此,如果我的totalApples值为2,那么我希望生成2个选项(其中一个值为1,另一个值为2)

到目前为止我的代码如下:

HTML代码片段:

代码语言:javascript
复制
<input ng-model="totalApples" />
<select ng-options="">
  <option value="1">1</option>  //what I would like to have is the options generated 
  <option value="2">2</option>
</select>

在我的控制器中我设置了作用域:

代码语言:javascript
复制
 $scope.totalApples = 2;

谢谢

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-04-30 01:33:50

如果您对所选值感兴趣,那么您应该结合使用ng-modelng-options指令。看看this example吧。

此外,不要与检查选项元素时看到的选项值混淆。Angular确保将正确的值绑定到您的模型。

票数 6
EN

Stack Overflow用户

发布于 2013-04-30 01:24:51

您可能需要一个自定义函数来为您处理选项的生成。AngularJS指令处理数据,剩下的就看你的了。你的目标是提供它。

在你的控制器中

代码语言:javascript
复制
$scope.options = [];
$scope.generateOptions = function() {
  newOptions = [];
  for (var i = 1; i <= $scope.totalApples; i++) {
    newOptions.push(i);
  }
  $scope.options = newOptions;
}

在您的HTML中,您可以简单地使用repeater,因为对于这个简单的场景,您实际上并不需要select指令。

代码语言:javascript
复制
<input ng-model="totalApples" />
<select>
  <option ng-repeat="option in options" value="{{option}}">{{option}}</option>
</select>
<button ng-click="generateOptions()">Generate options!</button>
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16284251

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档