2016-12-16 27 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); 
    } 
相關問題