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

时间:2016-06-29 16:59:55

标签: 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>

在我目前的情况1中,来自api的回复是0{{activeState}} displays 1。如何处理这个角度,根据响应自动选择正确的选择?

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

2 个答案:

答案 0 :(得分:2)

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

可以轻松解决此问题

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

<强>标记

<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

答案 1 :(得分:1)

您获得的HTML代码表明您正在寻找字符串。在没有看到响应内容的情况下,您可以很好地猜测您是否获得了整数。

http.get(yourUrl,{}).then(function(response){
        $scope.activestate=response.data.toString();//this converts the responseData to a string and assigns it to the model object, replacing the original assignment in your controller
    }, function(error){
        console.log(error);
    });