2014-07-15 70 views
0

我使用Angularjs和我有相同的名稱access和不同型號的領域model.field1model.field2兩個單選按鈕,所以我需要更新模型時選擇的變化,最初model.field1model.field2設置爲false,並且我想在設置模型值爲true cheched時和false未檢查時,我該怎麼做?Angularjs:更新模型時,單選按鈕選擇改變

<input type="radio" id="r1" data-ng-model="model.field1" name="access"><span>R 1</span> 
<input type="radio" id="r2" data-ng-model="model.field2" name="access"><span>R 2</span> 

我感謝所有幫助,感謝

回答

1

我相信這樣做的首選方法是單變量和值屬性,像這樣:

<input type="radio" id="r1" data-ng-model="model.field1" value="1" name="access"><span>R 1</span> 
<input type="radio" id="r2" data-ng-model="model.field1" value="2" name="access"><span>R 2</span> 
{{model.field1}} 

這將設置變量model.field1爲1或2,具體取決於選擇哪一個。如果沒有選擇什麼,它是不確定的。讓我知道這是否適用於您的用例。

+0

謝謝@Dested,我知道的方式,但在這種情況下,我有兩個變量來表示分隔的屬性,以便用戶授予訪問權限,例如:user.readWrite和user.readOnly和單個變量並非如此對我有用。你有其他想法嗎?非常感謝 – Ragnar

+0

我可以輕而易舉地想到的唯一方法是在兩種情況下將值設置爲「true」,將它們都默認爲false,並在所有適用字段中使用一系列手錶將其設置爲false其中一個設置爲true ...另一個選項是將0用於readOnly,將1用於readWrite,並將其設置爲THAT值,然後將實際變量設置爲適當的可訪問性。 – Dested

+0

謝謝Dested,你的建議對我來說非常有用。我解決了觀察變量值並適當設置實際變量的問題。乾杯!! – Ragnar

1

如Angular文檔(https://docs.angularjs.org/api/ng/input/input%5Bradio%5D)所示,您需要使用單個範圍變量和ng-value來設置它們。

<input type="radio" id="r1" ng-model="model.field1" ng-value="1" name="access"><span>R 1</span> 
<input type="radio" id="r2" ng-model="model.field1" ng-value="2" name="access"><span>R 2</span> 
+0

感謝@MBielski,我知道這種方式,但在這種情況下,我有兩個變量來表示分離的屬性,以便爲用戶提供訪問權限,例如:user.readWrite和user.readOnly,而單個變量對我來說並不那麼有用。你有其他想法嗎?非常感謝 – Ragnar

相關問題