異なるモデルの2つのラジオボタングループをバインドするAngularJS

ハリス・ビェリック

編集:

Maherの変更されたコードに基づいて、問題をもう一度説明しようと思います。私のHTMLページには、フォーム1つだけありますフォーム内私は内にあるすべてのフィールド格納したい#STEP1私にアカウントオブジェクトを

<div id = " #step1 ">のHTMLを確認してください

  • ファーストネーム
  • 苗字
  • ストリート
  • 性別

そして、<div id = " #step2 ">内のフィールド

  • ファーストネーム
  • 苗字
  • 性別

スタッフオブジェクトに保存したい

だから、と問題がある、私は失う選択性別をアカウントやスタッフのオブジェクトから。すべてのフィールドはオブジェクトに正しくバインドされており、アクセス可能です。では#のSTEP1性別ラジオは、自己にバインドされます。account.gender#step2では、性別ラジオが自分自身にバインドされています。staff.genderしかし、アカウントで性別の値を取得しようとすると、未定義になりました。3つ以上のラジオボタンがある場合、その角度は性別の値を上書きするように見えます。

例。フォームに入力して[送信]をクリックする、次のような結果が得られます。

アカウントオブジェクト:

  • 名= 'ハリー'
  • 姓= 'ポッター'
  • ストリート= '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>

マハー

こんにちは、私はこれがあなたが望むものであり、angularjsでng-modelをバインドおよび転送する方法を理解するのに役立つことを願っています。

プロジェクトで行ったように例を作成します。例を実行できます。最後の手順でブラウザコンソールを確認してください。

 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

AngularJS-ブール値を持つモデルへのラジオボタンのバインド

分類Dev

MVC mvc 2つのラジオボタン(グループ)が1つのモデルプロパティにバインド

分類Dev

異なる ng モデルのラジオ ボタン

分類Dev

Pythonロギングモジュールにログインするための2つの異なるハンドラーを持つ

分類Dev

4つの異なるラジオボタングループから1つのラジオボタンのみを選択できるようにする方法Rシャイニー

分類Dev

1つのビューが異なる時間に異なるデータモデルにバインドする(AngularJS)

分類Dev

モデルバインディングを適切に使用して、Razorページでラジオボタンの値を取得する方法

分類Dev

AngularJS:ブール値をラジオボタンにバインドして、チェック解除イベントでモデルをfalseに更新する

分類Dev

相対的なAndroidレイアウトのラジオボタンをラジオグループ化する方法

分類Dev

Html:JSONラジオボタンの異なるグループへ

分類Dev

異なるクラスの2つのオブジェクトとJavaの比較フィールドでリストをフィルタリングする方法

分類Dev

jQueryバリデータプラグインを使用してラジオボタンボタンが表示された場合は、フィールドに異なるaddMethodを適用します

分類Dev

joomla2つの異なるmod_menuインスタンスをオーバーライドする方法

分類Dev

異なる形式の2つのラジオボタンをリンクする

分類Dev

異なるボタンで2つの異なるgeojsonファイルをロードします

分類Dev

異なるバッキングフィールドタイプを持つKotlinデータクラス

分類Dev

コントローラの2つの異なる変数からモデルのメソッドをバイパスしますか?

分類Dev

JSONで2つの異なるモデルエラーをレンダリングする

分類Dev

ラジオボタンの値に応じて、yii2 で異なるルールを作成する方法は?

分類Dev

Java 8-2つのインターフェースには、メソッドシグネチャは同じであるが戻り値のタイプが異なるデフォルトメソッドが含まれています。どのようにオーバーライドするのですか?

分類Dev

Spring MVCデータバインディング:パラメーターを異なる名前のオブジェクトフィールドにバインドします

分類Dev

異なるオペランドを持つgraphqlの多くのキーに対するオプションのフィルタリング

分類Dev

1つのブートストラップモーダルで動的データをバインドする方法

分類Dev

3つの異なるjavaプラグインプロジェクトである3つの異なるosgiバンドル間で同じオブジェクトを使用する方法

分類Dev

2つの異なるgifをkivyのトグルボタンにバインドするにはどうすればよいですか?

分類Dev

ピボットデータを取得する方法は、モデルのバインディングによって異なります

分類Dev

異なるモジュールを持つ2つの異なるコントローラーを持つサービスを使用して異なるモジュール間でデータを渡す方法は?

分類Dev

TreeViewを同じレベルの異なるタイプのオブジェクトを持つコレクションにバインドする

分類Dev

TreeViewを同じレベルの異なるタイプのオブジェクトを持つコレクションにバインドする

Related 関連記事

  1. 1

    AngularJS-ブール値を持つモデルへのラジオボタンのバインド

  2. 2

    MVC mvc 2つのラジオボタン(グループ)が1つのモデルプロパティにバインド

  3. 3

    異なる ng モデルのラジオ ボタン

  4. 4

    Pythonロギングモジュールにログインするための2つの異なるハンドラーを持つ

  5. 5

    4つの異なるラジオボタングループから1つのラジオボタンのみを選択できるようにする方法Rシャイニー

  6. 6

    1つのビューが異なる時間に異なるデータモデルにバインドする(AngularJS)

  7. 7

    モデルバインディングを適切に使用して、Razorページでラジオボタンの値を取得する方法

  8. 8

    AngularJS:ブール値をラジオボタンにバインドして、チェック解除イベントでモデルをfalseに更新する

  9. 9

    相対的なAndroidレイアウトのラジオボタンをラジオグループ化する方法

  10. 10

    Html:JSONラジオボタンの異なるグループへ

  11. 11

    異なるクラスの2つのオブジェクトとJavaの比較フィールドでリストをフィルタリングする方法

  12. 12

    jQueryバリデータプラグインを使用してラジオボタンボタンが表示された場合は、フィールドに異なるaddMethodを適用します

  13. 13

    joomla2つの異なるmod_menuインスタンスをオーバーライドする方法

  14. 14

    異なる形式の2つのラジオボタンをリンクする

  15. 15

    異なるボタンで2つの異なるgeojsonファイルをロードします

  16. 16

    異なるバッキングフィールドタイプを持つKotlinデータクラス

  17. 17

    コントローラの2つの異なる変数からモデルのメソッドをバイパスしますか?

  18. 18

    JSONで2つの異なるモデルエラーをレンダリングする

  19. 19

    ラジオボタンの値に応じて、yii2 で異なるルールを作成する方法は?

  20. 20

    Java 8-2つのインターフェースには、メソッドシグネチャは同じであるが戻り値のタイプが異なるデフォルトメソッドが含まれています。どのようにオーバーライドするのですか?

  21. 21

    Spring MVCデータバインディング:パラメーターを異なる名前のオブジェクトフィールドにバインドします

  22. 22

    異なるオペランドを持つgraphqlの多くのキーに対するオプションのフィルタリング

  23. 23

    1つのブートストラップモーダルで動的データをバインドする方法

  24. 24

    3つの異なるjavaプラグインプロジェクトである3つの異なるosgiバンドル間で同じオブジェクトを使用する方法

  25. 25

    2つの異なるgifをkivyのトグルボタンにバインドするにはどうすればよいですか?

  26. 26

    ピボットデータを取得する方法は、モデルのバインディングによって異なります

  27. 27

    異なるモジュールを持つ2つの異なるコントローラーを持つサービスを使用して異なるモジュール間でデータを渡す方法は?

  28. 28

    TreeViewを同じレベルの異なるタイプのオブジェクトを持つコレクションにバインドする

  29. 29

    TreeViewを同じレベルの異なるタイプのオブジェクトを持つコレクションにバインドする

ホットタグ

アーカイブ