2017-04-07 86 views
3

I'am new with angularjs .. 我想使用單選按鈕進行選擇並保存爲boolean值。 當我使用ng-value時,那麼保存到數據庫中的值是null。這是html的代碼。使用ng值爲單選按鈕(angularjs)

<label><input type="radio" ng-model="information" ng-value="TRUE" name="maklumat">Yes</label><br /> 
<label><input type="radio" ng-model="information" ng-value="FALSE" name="maklumat">False</label> 

回答

0

ng-value預計AngularJS表達到ngModel將被選擇的無線時設置。

和表達式是大小寫敏感的,如果你設置ng-value="true"它設置你的東西,你必須在ng-modeltrue,但如果你有ng-value="TRUE",它會嘗試獲取$scope.TRUE它沒有找到和你ng-model被設置爲null

下面是一個例子。

angular.module('radioExample', []) 
 
    .controller('ExampleController', ['$scope', function($scope) { 
 
    $scope.TRUE = "something totally different" 
 
    $scope.specialValue = { 
 
     "id": "12345", 
 
     "value": "green" 
 
    }; 
 
    }]);
<!doctype html> 
 
<html lang="en"> 
 

 
<head> 
 
    <meta charset="UTF-8"> 
 
    <title>Example - example-radio-input-directive-production</title> 
 
    <script src="//code.angularjs.org/snapshot/angular.min.js"></script> 
 
</head> 
 

 
<body ng-app="radioExample"> 
 

 
    <form name="myForm" ng-controller="ExampleController"> 
 
    <label> 
 
    <input type="radio" ng-model="color.name" ng-value="specialValue"> 
 
    SpecialValue 
 
    </label><br/> 
 
    <label> 
 
    <input type="radio" ng-model="color.name" ng-value="true"> 
 
    true 
 
    </label><br/> 
 
    <label> 
 
    <input type="radio" ng-model="color.name" ng-value="TRUE"> 
 
    TRUE 
 
    </label><br/><br/> 
 
    <tt>color = {{color.name | json}}</tt><br/> 
 
    </form> 
 
    <br><br/><br/> Note that `ng-value="specialValue"` sets radio item's value to be the value of `$scope.specialValue`. 
 
</body> 
 

 
</html>

+0

實際上,如果他想要一個布爾值,最好使用'ng-value',因爲它執行的值是布爾值而不是字符串。查看這個[fiddle](http://jsfiddle.net/tur9582o/3/)例子。爲了擴展這個以及你已經鏈接到的文檔,說如果你需要一個非字符串ngModel(boolean,array,...),應該使用_ng-value來代替value屬性._ – George

+0

@George yes,得到了,更新的答案,謝謝 – tanmay

4

的問題是您在ng-value值輸入過的內容,只是將其更改爲小寫像這樣。

<label> 
    <input type="radio" ng-model="information" ng-value="true" name="maklumat">Yes 
</label> 
<br /> 
<label> 
    <input type="radio" ng-model="information" ng-value="false" name="maklumat">False 
</label> 

Fiddle for example

編輯1

它被保存爲空是因爲它試圖評估值FALSE這是不確定的原因。

+1

此外,最好是在控制器中爲'$ scope.information = false'分配一個默認值(對於這種情況,因爲數據正在進入數據庫)。 – Nishant123

相關問題