我有,有一個表格/控制器,基本上是這樣的(歸結爲相關的東西)的angularjs應用:未選中的單選按鈕值
angular.module('testApp', [])
.controller('testCtrl', function ($scope) {
$scope.envelopes = [{
id: 1,
name: 'first',
default_spend: '1'
}, {
id: 2,
name: 'second',
default_spend: '0'
}, {
id: 3,
name: 'third',
default_spend: '0'
}, ];
});
而且看起來大致是這樣一種形式這樣的:
<div ng-app="testApp">
<div ng-controller="testCtrl">
<div ng-repeat="envelope in envelopes">
<div>{{envelope.name}}
<input type="radio" name="default_spend" ng-model="envelope.default_spend" ng-value="1" />
Default Spend: {{envelope.default_spend}}
</div>
</div>
</div>
</div>
您可以在行動this fiddle看到這一點。如你所見,第一個信封被標記爲default_spend信封,而另外兩個信封則不被標記爲default_spend信封。當我選擇不同的信封時,該信封也被標記爲default_spend,但是當單選按鈕未被選中時,模型值保持不變(「1」)。我明白,由於ng-repeat,我正在處理一個子範圍,但是有沒有辦法讓我設置一個「未選中」的值,而不必通過ngChange跳過?
我不明白..無論選擇變爲1等復位爲0?當你使用ng值時,它將被綁定到選擇的ng模型上。 – PSL 2014-10-01 01:44:51
添加「Default Spend:1/0」部分只是爲了看看設置爲envelope.default_spend的內容。理想情況下,如果選擇收音機,該值爲1(開),否則爲0(關)。關於部分工作正常,但關閉不。我明白爲什麼,但我認爲將ng-model的值設置爲「」,如果沒有選擇收音機,並且選擇「1」(或任何{ng-}值),將會更合乎邏輯。 – jloosli 2014-10-01 19:01:45