首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何使用AngularJS获取选项文本值?

如何使用AngularJS获取选项文本值?
EN

Stack Overflow用户
提问于 2013-01-28 06:17:48
回答 4查看 115.3K关注 0票数 37

我正在尝试使用AngularJS获取选项列表的文本值

下面是我的代码片段

代码语言:javascript
复制
<div class="container-fluid">
        Sort by:
        <select ng-model="productList">
            <option value="prod_1">Product 1</option>
            <option value="prod_2">Product 2</option>
        </select>
</div>

<p>Ordered by: {{productList}}</p>

{{productList}}返回选项的值,例如: prod_1。我正在尝试获取文本值'Product 1‘。有没有办法做到这一点?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2013-01-28 06:42:59

最好的方法是在select元素上使用ng-options指令。

控制器

代码语言:javascript
复制
function Ctrl($scope) {
  // sort options
  $scope.products = [{
    value: 'prod_1',
    label: 'Product 1'
  }, {
    value: 'prod_2',
    label: 'Product 2'
  }];   
}

HTML

代码语言:javascript
复制
<select ng-model="selected_product" 
        ng-options="product as product.label for product in products">           
</select>

这会将选定的product对象绑定到ng-model属性- selected_product。在此之后,您可以使用以下命令:

代码语言:javascript
复制
<p>Ordered by: {{selected_product.label}}</p>

jsFiddlehttp://jsfiddle.net/bmleite/2qfSB/

票数 63
EN

Stack Overflow用户

发布于 2013-11-26 07:15:53

您甚至可以使用下面的代码来代替select元素中的ng-options="product as product.label for product in products">

代码语言:javascript
复制
<option ng-repeat="product in products" value="{{product.label}}">{{product.label}}

它也能很好地工作。

票数 10
EN

Stack Overflow用户

发布于 2015-07-22 20:02:08

你也可以这样做:

代码语言:javascript
复制
<select class="form-control postType" ng-model="selectedProd">
    <option ng-repeat="product in productList" value="{{product}}">{{product.name}}</option>
</select>

其中"selectedProd“将是选定的产品。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14552976

复制
相关文章

相似问题

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