首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >选择没有ng的选项-在angularjs中选择

选择没有ng的选项-在angularjs中选择
EN

Stack Overflow用户
提问于 2015-09-03 06:00:44
回答 3查看 1.3K关注 0票数 1
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<select>
    <option>active</option>
    <option>Deactive</option>
</select>

$scope.isActive = $scope.data.gameStatus;

我的选项不是动态的,所以我认为不应该使用ng-option,假设$scope.isActive的值是true,如何使用选择的active选项。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2015-09-03 06:05:14

selectngModel绑定

试着像这样

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<select ng-model="mycontrol.value">
     <option>active</option>
     <option>Deactive</option>
</select>

js

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$scope.mycontrol={
    value:''
};
$scope.mycontrol.value="active";

编辑

来自api的数据是真实的,而不是“活动的”,

试着像这样

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
var flag = true;
$scope.mycontrol.value= flag  ? "active" : "Deactive"; 
票数 0
EN

Stack Overflow用户

发布于 2015-09-03 06:03:57

请参阅ngSelected 这里的文档。

只需在您的ng-selected="isActive"上添加<option>即可。

票数 0
EN

Stack Overflow用户

发布于 2015-09-03 06:40:15

这其实是个有点棘手的问题。首先,您需要设置ngModel指令。但是即使这样做,它也不会工作,因为您的模型是布尔型的,而选项值当然是一个字符串。角不能正确地约束这样的模型。(当然,只有当您不想使用ngOptions,只想使用简单的静态选项时,这在本例中是完全有意义的)。

幸运的是,正式文档包含一些暗示。解决方案是再添加一个助手指令,将布尔值转换为用于选项选择的字符串,将字符串转换为布尔值,以便从所选选项写入模型值。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
angular.module('demo', []).controller('MainController', function($scope) {
    $scope.isActive = true;
})
.directive('convertToBoolean', function() {
    return {
        require: 'ngModel',
        link: function(scope, element, attrs, ngModel) {
            ngModel.$parsers.push(function(val) {
                return val == 'true';
            });
            ngModel.$formatters.push(function(val) {
                return val + '';
            });
        }
    };
});
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<script src="https://code.angularjs.org/1.4.3/angular.js"></script>

<div ng-app="demo" ng-controller="MainController">
    <select ng-model="isActive" convert-to-boolean>
        <option value="true">Active</option>
        <option value="false">Deactive</option>
    </select> {{isActive}}
</div>

因此,在本例中使用ngOptions会更简单:)

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

https://stackoverflow.com/questions/32377794

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文