AngularJS는 다른 모델에서 2 개의 라디오 버튼 그룹을 바인딩합니다.

Haris Bjelic

편집하다:

Maher의 수정 된 코드를 기반으로 내 문제를 다시 설명하려고합니다. 내 HTML 페이지에는 Form 하나만 있습니다. 양식 안에 # step1 안에있는 모든 필드 를 내 계정 개체 에 저장하고 싶습니다 .

<div id = " # step1 "> 에서 HTML을 확인하십시오.

  • 이름
  • 거리
  • 성별

그리고 <div id = " # step2 "> 안의 필드

  • 이름
  • 성별

직원 개체 에 저장하고 싶습니다 .

그래서 문제계정이나 직원 개체에서 선택한 성별가치잃는다는 것입니다. 모든 필드는 개체에 올바르게 바인딩되고 액세스 할 수 있습니다. 에서 #의 1 단계 성별 라디오 자체에 바인더 제본된다. account.gender# step2 에서 성별 라디오 는 self에 바인딩됩니다. staff.gender . 그러나 계정에서 성별의 가치를 얻으려고 시도하면 정의되지 않았습니다. 라디오 버튼이 2 개 이상인 경우 각도가 성별 값을 재정의하는 것 같습니다.

예. 나는 내 형태와 클릭을 기입 한 후 것은 제출 내가 원하는 이 결과 같은 얻을 :

계정 개체 :

  • 이름 = '해리'
  • 성 = '포터'
  • 거리 = 'HellouStreet'
  • 성별 = 1 // 남성

직원 개체 :

  • 이름 = '해리'
  • 성 = '포터'
  • 성별 = 2 // 여성

그러나 나는 얻는다 :

계정 개체 :

  • 이름 = '해리'
  • 성 = '포터'
  • 거리 = 'HellouStreet'
  • 성별 = 정의되지 않음

라디오를 올바르게 바인딩하려면 어떻게해야합니까? 각 단계마다 사용자의 성별을 얻고 그 정보를 다른 개체에 저장하고 싶습니다. 여기 계정과 직원처럼.

 var app = angular.module("app", []);

        app.controller("WelcomeController", function ($scope, $filter) {
            var self = this;
            self.account = {};
            self.staff = {};

            self.bindForm = function() {
                self.staff = self.staff;
                self.account = self.account;
            }

            self.saveStep = function () {
                console.log("staff", self.staff);
                console.log("account", self.account");
            }

        });
<!doctype html>
<html>
<head>
    <title></title>

    <link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" rel="stylesheet" />
    <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>

</head>
<body ng-app="app" ng-controller="WelcomeController as self">

    <div class="container">

        <form name="MyForm" class="col-md-4">
            
            <div id="step1" class="form-group">
                <input class="form-control" ng-model="self.account.firstName" placeholder="firstName"  ng-required="true" />
                <input class="form-control" ng-model="self.account.lastName" placeholder="lastName" ng-required="true" />
                <input class="form-control" ng-model="self.account.street" placeholder="streetName" ng-required="true" />
                <label class="radio-inline">
                    <input name="i-account" type="radio" ng-model="self.account.gender" ng-value="1" ng-required="true">
                    <span class="fa fa-circle"></span> Male
                </label>

                <label class="radio-inline">
                    <input name="i-account" type="radio" ng-model="self.account.gender" ng-value="2" ng-required="true">
                    <span class="fa fa-circle"></span> Female
                </label>
            </div>
      
      
            <div id="step2" class="form-group">
                <input class="form-control" ng-model="self.staff.firstName" placeholder="firstName" />
                <input class="form-control" ng-model="self.staff.lastName" placeholder="lastName" />
                <label class="radio-inline">
                    <input name="i-staff" type="radio" ng-model="self.staff.gender" ng-value="1" ng-required="true">
                    <span class="fa fa-circle"></span> Male
                </label>

                <label class="radio-inline">
                    <input name="i-staff" type="radio" ng-model="self.staff.gender" ng-value="2" ng-required="true">
                    <span class="fa fa-circle"></span> Female
                </label>
            </div>
            
            <button class="btn btn-success" ng-click="self.saveStep()">finish</button>

        </form>
    </div>
</body>
</html>

Maher

안녕, 나는 이것이 당신이 원하는 것이고 angularjs에서 ng-models를 바인딩하고 전송할 수있는 방법을 알아내는 데 도움이되기를 바랍니다.

프로젝트에서했던 것처럼 예제를 만들었습니다. 예제를 실행할 수 있습니다. 마지막 단계에서 브라우저 콘솔을 확인하십시오.

 var app = angular.module("app", []);

        app.controller("WelcomeController", function ($scope, $filter) {
            var self = this;
            self.account = {gender: 1};
            self.staff = { gender: 2};

            self.bindForm = function() {
                self.staff = self.account;
            }

            self.saveStep = function () {
                console.log("account", self.account.gender);
                console.log("staff", self.staff);
            }

        });
<!doctype html>
<html>
<head>
    <title></title>

    <link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" rel="stylesheet" />
    <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>

</head>
<body ng-app="app" ng-controller="WelcomeController as self">
  <div class="container">

        <form name="form" class="col-md-4">
            <div class="form-group">
                <input class="form-control" ng-model="self.account.firstName"  placeholder="firstName" ng-required="true" />
                <input class="form-control" ng-model="self.account.lastName" placeholder="lastName" ng-required="true" />
                <input class="form-control" ng-model="self.account.street" placeholder="street" ng-required="true" />
                <label class="radio-inline">
                    <input name="i-account" type="radio" ng-model="self.account.gender" ng-value="1" ng-required="true">
                    <span class="fa fa-circle"></span> Male
                </label>

                <label class="radio-inline">
                    <input name="i-account" type="radio" ng-model="self.account.gender" ng-value="2" ng-required="true">
                    <span class="fa fa-circle"></span> Female
                </label>
            </div>

            <div class="form-group">
                <input class="form-control" ng-model="self.staff.firstName"  placeholder="firstName" />
                <input class="form-control" ng-model="self.staff.lastName" placeholder="lastName" />
                <label class="radio-inline">
                    <input name="i-staff" type="radio" ng-model="self.staff.gender" ng-value="1" ng-required="true">
                    <span class="fa fa-circle"></span> Male
                </label>

                <label class="radio-inline">
                    <input name="i-staff" type="radio" ng-model="self.staff.gender" ng-value="2" ng-checked="true" ng-required="true">
                    <span class="fa fa-circle"></span> Female
                </label>
            </div>
            <button class="btn btn-primary" ng-click="self.prvStep()">Previous</button>
            <button class="btn btn-success" ng-click="self.saveStep()" ng-disabled="formStep2.$invalid">finish</button>

        </form>
    </div>
</body>
</html>

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

jquery는 라디오 버튼 그룹의 값을 얻습니다.

분류에서Dev

Angular2의 라디오 버튼 그룹에서 [formControl]을 사용할 수 없습니다.

분류에서Dev

목록에서 그룹화 된 모든 확인란 또는 라디오 버튼의 선택을 취소합니다.

분류에서Dev

Aurelia는 확인 변경시 라디오 버튼에 값을 바인딩합니다.

분류에서Dev

그룹 내 모든 라디오 버튼의 값을 가져옵니다. Jquery

분류에서Dev

jquery 모바일은 라디오 버튼 그룹의 선택된 값을 설정합니다.

분류에서Dev

같은 그룹의 다른 라디오 버튼을 선택한 후 라디오 버튼을 재설정하는 방법

분류에서Dev

2 개의 다른 그룹에서 특정 라디오를 선택하면 버튼 링크를 동적으로 변경

분류에서Dev

모든 라디오 버튼은 모델 목록의 모든 항목에 대해 함께 그룹화됩니다.

분류에서Dev

두 개의 라디오 버튼을 서로 다른 형태로 연결

분류에서Dev

Tkinter를 사용하여 파이썬에서 다른 시간에 다른 그룹의 라디오 버튼을 어떻게 표시합니까?

분류에서Dev

자바 스크립트를 사용하여 라디오 그룹의 라디오 버튼을 선택합니다.

분류에서Dev

AngularJS : 반복되는 라디오 버튼에 올바른 모델을 배치하는 방법

분류에서Dev

Angularjs : 모델 변경시 라디오 버튼 확인 상태가 모델 값을 바인딩하지 못했습니다.

분류에서Dev

다른 라디오 버튼의 값에 따라 라디오 버튼 변경

분류에서Dev

라디오 버튼 그룹이있는 Angular 모달 창을 열면 ExpressionChangedAfterItHasBeenCheckedError가 발생합니다.

분류에서Dev

라디오 버튼을 각도 2로 바인딩 할 수 없습니다.

분류에서Dev

라디오 버튼의 기능 (한 번의 버튼 클릭, 다른 버튼은 자동으로 지워짐)을 다른 컨트롤에 사용하는 방법

분류에서Dev

텍스트 필드에 입력하고 라디오 버튼 그룹의 값을 변경합니다.

분류에서Dev

swisnl의 jQuery ContextMenu에서 라디오 버튼 그룹 클릭 이벤트를 얻는 방법을 얻을 수없는 것 같습니다.

분류에서Dev

Android는 sharedpreferences를 사용하여 다른 버튼 클릭에 라디오 버튼 값을 저장합니다.

분류에서Dev

Android는 sharedpreferences를 사용하여 다른 버튼 클릭에 라디오 버튼 값을 저장합니다.

분류에서Dev

Selenium Web Driver의 유사한 라디오 버튼 그룹에서 특정 라디오 버튼을 선택하는 방법은 무엇입니까?

분류에서Dev

mvc4 라디오 버튼을 모델에 바인딩하는 방법

분류에서Dev

각 라디오 그룹에서 확인 된 라디오 버튼을 가져옵니다.

분류에서Dev

두 개의 다른 라디오 버튼 세트에 대해 다른 값을 갖는 방법은 무엇입니까?

분류에서Dev

WPF ContextMenu는 마우스 오른쪽 버튼을 클릭하면 3 개의 목록 상자에 바인딩됩니다.

분류에서Dev

ReactJS에서 라디오 버튼 그룹의 값을 얻는 방법

분류에서Dev

AngularJS에서 모델 바인딩 라디오 버튼 업데이트 문제

Related 관련 기사

  1. 1

    jquery는 라디오 버튼 그룹의 값을 얻습니다.

  2. 2

    Angular2의 라디오 버튼 그룹에서 [formControl]을 사용할 수 없습니다.

  3. 3

    목록에서 그룹화 된 모든 확인란 또는 라디오 버튼의 선택을 취소합니다.

  4. 4

    Aurelia는 확인 변경시 라디오 버튼에 값을 바인딩합니다.

  5. 5

    그룹 내 모든 라디오 버튼의 값을 가져옵니다. Jquery

  6. 6

    jquery 모바일은 라디오 버튼 그룹의 선택된 값을 설정합니다.

  7. 7

    같은 그룹의 다른 라디오 버튼을 선택한 후 라디오 버튼을 재설정하는 방법

  8. 8

    2 개의 다른 그룹에서 특정 라디오를 선택하면 버튼 링크를 동적으로 변경

  9. 9

    모든 라디오 버튼은 모델 목록의 모든 항목에 대해 함께 그룹화됩니다.

  10. 10

    두 개의 라디오 버튼을 서로 다른 형태로 연결

  11. 11

    Tkinter를 사용하여 파이썬에서 다른 시간에 다른 그룹의 라디오 버튼을 어떻게 표시합니까?

  12. 12

    자바 스크립트를 사용하여 라디오 그룹의 라디오 버튼을 선택합니다.

  13. 13

    AngularJS : 반복되는 라디오 버튼에 올바른 모델을 배치하는 방법

  14. 14

    Angularjs : 모델 변경시 라디오 버튼 확인 상태가 모델 값을 바인딩하지 못했습니다.

  15. 15

    다른 라디오 버튼의 값에 따라 라디오 버튼 변경

  16. 16

    라디오 버튼 그룹이있는 Angular 모달 창을 열면 ExpressionChangedAfterItHasBeenCheckedError가 발생합니다.

  17. 17

    라디오 버튼을 각도 2로 바인딩 할 수 없습니다.

  18. 18

    라디오 버튼의 기능 (한 번의 버튼 클릭, 다른 버튼은 자동으로 지워짐)을 다른 컨트롤에 사용하는 방법

  19. 19

    텍스트 필드에 입력하고 라디오 버튼 그룹의 값을 변경합니다.

  20. 20

    swisnl의 jQuery ContextMenu에서 라디오 버튼 그룹 클릭 이벤트를 얻는 방법을 얻을 수없는 것 같습니다.

  21. 21

    Android는 sharedpreferences를 사용하여 다른 버튼 클릭에 라디오 버튼 값을 저장합니다.

  22. 22

    Android는 sharedpreferences를 사용하여 다른 버튼 클릭에 라디오 버튼 값을 저장합니다.

  23. 23

    Selenium Web Driver의 유사한 라디오 버튼 그룹에서 특정 라디오 버튼을 선택하는 방법은 무엇입니까?

  24. 24

    mvc4 라디오 버튼을 모델에 바인딩하는 방법

  25. 25

    각 라디오 그룹에서 확인 된 라디오 버튼을 가져옵니다.

  26. 26

    두 개의 다른 라디오 버튼 세트에 대해 다른 값을 갖는 방법은 무엇입니까?

  27. 27

    WPF ContextMenu는 마우스 오른쪽 버튼을 클릭하면 3 개의 목록 상자에 바인딩됩니다.

  28. 28

    ReactJS에서 라디오 버튼 그룹의 값을 얻는 방법

  29. 29

    AngularJS에서 모델 바인딩 라디오 버튼 업데이트 문제

뜨겁다태그

보관