javascript - 根据 Angular 的响应自动选择选项

标签 javascript angularjs

这就是我的选择表单组的样子。

<div class="form-group">
    <label>Active</label>
    <select class="form-control" ng-model="activeState" >
        <option ng-value="0" >No</option>
        <option ng-value="1" >Yes</option>
    </select>
</div>

在我当前的情况下,我得到的 api 响应是 10 {{activeState}} 显示 1。如何用 Angular 处理这个问题,以便根据响应自动选择正确的选择?

如果您需要任何其他信息,请告诉我,我会提供。谢谢

最佳答案

问题是 value 属性中的 0 值是 string 并且从 ajax 获得的值是 0(数字),这就是为什么当您尝试在加载时绑定(bind)一个值时,它不起作用。通过更改 $scope.activeState = '0';

可以轻松解决此问题

我希望您在此处使用 ng-options 指令,该指令将值与对象 value 绑定(bind)

标记

<select class="form-control" ng-model="activeState" 
   ng-options="yesNo.value as yesNo.name for yesNo in yesNoOptions">
</select>

代码

$scope.yesNoOptions = [
   {name: 'No', value: 0},
   {name: 'Yes', value: 1}
];
$scope.activeState = 0;

Demo here

关于javascript - 根据 Angular 的响应自动选择选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38105882/

相关文章:

javascript - karma 覆盖率显示 0/0,100% 覆盖率

javascript - Xhtml 幻灯片放映不起作用

iPad 上的 Javascript 加载缓慢

javascript - 从函数的回调中返回一个变量

javascript - Angularjs:从使用 ng-repeat 创建的表中一次只扩展一个表行

angularjs - angular beforeEach 注入(inject)导致简单测试失败

javascript - 消除了拼接 ng-repeat 数组项时出现的表单错误

javascript - 在 HTML 中调用在 Controller 中定义的函数

angularjs - 如何在单击标记时重定向到下一页并显示有关标记的详细信息?

javascript - AngularJS如何根据指定参数过滤JSON数据