2016-07-04 15 views
2

アクションが実行されているすべての入力要素をフェッチする必要があります。すべての子要素の取り込み方法

例えば: 入力タイプtext /番号/日付のような入力要素のN個を有することが可能な容器 ラジオボタン 等(動的にレンダリング)

があるとに提出というボタンがあります同じ容器。 私が提出し

  1. をクリックしたときに、私は送信ボタン要素
  2. の親を取得する必要がありますが、私はこれをどのように行うことができます。この親コンテナ内

をすべての要素を取得しますか?

私は動的にレンダリングしているので、スコープでアクセスできるようにスコープを設定できませんでした。あなたはjqueryのを使用する場合は以下のように

+2

質問: 1. JQueryを使用していますか? 2.参照用のコードをご覧ください。 –

+1

非常に簡単な音です。しかし、あなたのHTMLとJS を投稿してください。 – dfsq

+1

あなたはng-form = "myparent"を設定し、ng-model = "myparent.firstname"などの入力フィールドを設定する必要があります。 – Gopinath

答えて

2

あなたはそれを行うことができます。

var parent = buttonElement.parentElement; 
var inputs = parent.getElementsByTagName("input"); 
+0

返信ありがとうございます。それは部分的に機能するが、私はそれを行う方法を知っている –

1
<div> 
    <input type="text" id="txtName" value="Aslam"/> 
    <input type="radio" value="Select" /> 

    <input type="button" id="btnClick" value="Click Me!"/> 

</div> 
<script> 
    $("#btnClick").on('click', function() { 
     var parent = $(this).parent(); 
     var childrens = parent.children("input"); 

     childrens.each(function() { 
      switch (this.type) { 
       case 'text': 
        alert('Put text box logic'); 
        break; 
       case 'radio': 
        alert('Put radio box logic'); 
        break; 
        //Put other control 
       default: 
      } 
     }) 
    }); 
</script> 
1

まず、設定されたNG-形式:

var $parent = $(button).parent(); 
var $inputs = $parent.find("input"); 

あなたはjqueryのを使用していない場合は、次のように使用することができますng-modelを介してアクセスできます。これは簡単な方法です。

<form ng-form="myparent"> 

    <input type="text" ng-model="myparent.firstname"/> 
    <input type="text" ng-model="myparent.lastname"/> 
    ... Etc 

    </form> 
+1

返信のためにありがとう –

+0

ハッピーコーディング:) – Gopinath

関連する問題