2016-12-16 66 views
1

我是AngularJS的新成员,我尝试从选择选项中获取整数。所以,我有如何从选择输入值中获取整数

<select class="form-control" id="decimation" placeholder="1 or 8" ng-model="data.settings.decimation"> 
        <option type="number" value="1" ng-click="deci_bool=0">1</option> 
        <option type="number" value="8" ng-click="deci_bool=1">8</option> 
</select> 

,我想下面的输入与选项绑定值

<input ng-if="!deci_bool" type="number" class="form-control" id="b_mesu" placeholder="Between 0 and {{data.settings.decimation + 96 }}" ng-model="data.settings.b_mesu" min="0" max="97" step="1" ng-click="b_mesu_ctrl" required> 

但似乎data.settings.decimation + 96串接为一个字符串。

我试过了,下面SO后在select标签

ng-options="values.indexOf(data.settings.decimation) for data.settings.decimation in values" 

增加,但我得到这个错误信息

Error: [ngOptions:iexp] Expected expression in form of '_select_ (as _label_)? for (_key_,)?_value_ in _collection_' 

有人能帮忙吗?

回答

1

试试这个:placeholder="Between 0 and {{ (data.settings.decimation * 1)+78}}"
JSFiddle
附:方式奇怪,但placeholder="Between 0 and {{ +data.settings.decimation +78}}"不工作。

1
<div ng-controller="testCtrl"> 
      <select class="form-control" id="decimation" placeholder="1 or 8" ng-model="decimation"> 
        <option type="number" value="1" ng-click="deci_bool=0">1</option> 
        <option type="number" value="8" ng-click="deci_bool=1">8</option> 
</select> 

{{decimation}}<br/> 

<input type="number" ng-model="b_mesu" ng-change="updateSelect()" min="0" max="97" step="1" ng-click="b_mesu_ctrl" required> 

     </div> 

JS:

$scope.updateSelect = function(){ 
     $scope.decimation = ($scope.decimation ? parseInt($scope.decimation) : 0)+ parseInt($scope.b_mesu); 
    } 
相关问题