2016-11-02 10 views
2

jqueryを使用してdivにある入力フィールドを取得したいのですが、取得できません。私はクラスモデルでiterateし、文字列の配列に追加し、コントローラに渡したいと思います。以下jqueryで入れ子divの入力フィールドを取得する方法

クラスモデルを持っている私の1つのdivの私は、このように複数のdiv要素を作成し、そこに入力フィールドを取得し、私のコントローラに

<div class="models"> 
      <div class="row" > 

       <div class="col-md-12" > 
        <label class="control-label" >NIC</label> 
        <input type="text" class="form-control" name="VNIC" id="VNIC" required> 
       </div> 
      </div> 



      <div class="row"> 
       <div class="col-md-12"> 
        <label class="control-label">First Name</label> 
        <input type="text" class="form-control" name="VfirstName" id="VfirstName" required> 
       </div> 
      </div> 



<script type="text/javascript"> 
       $("#Visitor-form").on("submit", function() { 
        //Code: Action (like ajax...) 
        var slides = $(".models"); 
        console.log(slides); 
        for (i = 0; i < slides.length; i++) { 

         var previsitor = [ 
          { NIC: slides[0].value, V_Name: slides[0].value } 
         ]; 
        } 
        previsitors = JSON.stringify({ 'previsitors': previsitor }); 
        console.log(previsitors); 
        $.ajax({ 
         contentType: 'application/json; charset=utf-8', 
         dataType: 'json', 
         type: 'POST', 
         url: '/PreVisitor/addMultipleVisitor', 
         data: previsitors, 
         success: function() { 
          $('#result').html('"Pass List<PreVisitor>" successfully called.'); 
         }, 
         failure: function (response) { 
          $('#result').html(response); 
         } 
        }); 

       }) 
+0

'$(「フォームコントロール」)あなたは私が何を望むかあなたの入力に – felix91

+0

をクラスを持っているので、'クラスモデルと異なるのdivを作成し、それthorugh反復され、それぞれが持っているDIV私の単一のビューモデルを作る異なる入力タイプ..と私はコントローラにviewmodelのリストを渡したい –

+0

しよう[シリアル化](http://api.jquery.com/serialize/) –

答えて

1

を渡すために、そのにそれを反復しますが、これは何をされてはあります必要?すべての入力値を取得し、配列に格納します。 必要な配列の種類、値、または値の名前が不明です。

$('button').on('click',function(){ 
 
    var total = []; 
 
    var mapped = {}; 
 
    $('.models').find('input[type="text"]').each(function(index,elem){ 
 
     total.push(elem.value); 
 
     mapped[elem.name] = elem.value; 
 
    }); 
 
    console.log(total); 
 
    console.log(mapped); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div class="models"> 
 
      <div class="row" > 
 

 
       <div class="col-md-12" > 
 
        <label class="control-label" >NIC</label> 
 
        <input type="text" class="form-control" name="VNIC" id="VNIC" required> 
 
       </div> 
 
      </div> 
 

 

 

 
      <div class="row"> 
 
       <div class="col-md-12"> 
 
        <label class="control-label">First Name</label> 
 
        <input type="text" class="form-control" name="VfirstName" id="VfirstName" required> 
 
       </div> 
 
      </div> 
 
</div> 
 
<button>click me</button>

+1

ありがとう –

関連する問題