2015-12-10 47 views
0

我剛剛構建了一個動態(來自API的數據)表單,其中包含一個ng-repeat以產生一個單選按鈕負載。它工作正常,但我有困難設置第一個單選按鈕進行檢查。誰能幫忙?Angular Radio按鈕設置檢查到第一個輸入

<div ng-repeat="carrier in options.shipping.methods"> 
    <fieldset> 
     <input type="radio" id="{{ carrier.slug }}" name="{{ carrier.slug }}" value="{{ carrier.slug }}" ng-model="data.shipping" /> 
     <label class="radio" for="{{ carrier.slug }}">{{ carrier.description }}</label> 
    </fieldset> 
</div> 

我可以設置ng-init$index == 0

回答

0

當您需要使用ngChecked時,您應該將checked屬性添加到輸入中。

檢查這個link

<div ng-repeat="carrier in options.shipping.methods"> 
    <fieldset> 
     <input type="radio" id="{{ carrier.slug }}" name="{{ carrier.slug }}" value="{{ carrier.slug }}" ng-model="data.shipping" ngChecked="carrier.isSelected" /> 
     <label class="radio" for="{{ carrier.slug }}">{{ carrier.description }}</label> 
    </fieldset> 
</div> 

在你的控制,你會做這樣的事情

$scope.options.shipping.methods[0].isSelected = true; 

OR您可以直接在ngChecked寫支票

ngChecked="carrier.someProperty != null" 
+0

,將工作如果它是單選按鈕的列表,但是如它是一個ng-repeat,並且傳遞的數據可以是任意的隨機順序,這不會很好地發揮作用,因爲它會對所有單選按鈕進行檢查。 – Tomaltach

+0

@載體載體添加一個布爾屬性,並將其提供給ngChecked 然後你可以通過傳遞true來控制哪一個應該被檢查 –

+0

是的,應該工作。我被誤認爲是正常的檢查屬性 – Tomaltach

相關問題