4

양식에 미리 선택된 라디오 버튼이 있습니다. 다음은 HTML입니다 :기본 라디오 버튼이 모델에 나타나지 않는 이유는 무엇입니까?

<input type="radio" ng-model="bankAccount.selectedAccount" value="{{account.bankAccountId}}" class="radioChanged" ng-checked="{{account.defaultAccount}}"> 

형태가 표시되고이해야처럼 라디오 버튼을 선택,하지만 내 제출 버튼을 클릭하면, 모델, bankAccount.selectedAccount, 그냥 빈 개체입니다. 뷰에서 이미 선택된 기본 라디오 버튼을 클릭하면 모델에 표시됩니다. 모델을 기본 라디오 버튼으로 채우려면 무엇을해야합니까?

답변

1

value 보간 대신 ng-value을 사용해야 값이 모델과 연결됩니다. 또한 ng-checked는 보간을 가져서는 안되며, 바운드 값이 false 인 경우에도 보간법을 사용하면 "거짓"문자열로 처리되며 사실 (If the expression is truthy, then special attribute "checked" will be set on the element)입니다.

시도 - 요소가 선택되었을 때, 그 요소의 ngModel로 설정되도록

<input type="radio" ng-model="bankAccount.selectedAccount" 
     ng-value="account.bankAccountId" class="radioChanged" 
     ng-checked="account.defaultAccount"> 

는, 입력 선택] 또는 입력 [라디오]의 값에 주어진 식 바인딩 바운드 값


ng-model으로 truthy/falsy 조건에 따라 요소의 NG-확인 만 확인 세트 속성을 ng-checked를 혼합하지 마십시오. ngModel은 업데이트되지 않습니다. 대신 라디오를 선택하려면 기본 모델 값인 bankAccount.selectedAccount을 ng-model으로 설정하여 수행하십시오.

즉 : - 그것은해야처럼

<input type="radio" ng-model="bankAccount.selectedAccount" 
    ng-value="account.bankAccountId" class="radioChanged" /> 

Plnkr

+0

는'NG-값 '나를 위해 작동하지 않습니다. 또한 중괄호를 사용하면'ng-checked' 만 작동하도록 할 수 있습니다. 그 원인은 무엇일까요? 'angular 1.2.17'을 사용하고 있습니다. – jhamm

+0

@jhamm 작동하지 않는 데모를 보여줄 수 있습니까? – PSL

+0

@jhamm ng-model을 사용하지 마십시오. – PSL