1
divの2つの入力フィールドを取得してJSONとして投稿する配列にプッシュする関数を記述しようとしています。私は2番目の入力フィールドの値を見つけるためにdivをトラバースするのに問題があります。クライアントがより多くの行を追加できるようにする関数があります(div class = row id = "addInput")。Jquery Traverse入力フィールドの祖先
HTML:
<div class="testList" id = wrapper>
<div class="row" id="addInput" >
<section class="col col-4">
<label class="input"> <i class="icon-append fa fa-calendar"></i>
<input type="date" class="ptoDate" name="startDate" id="startDate" placeholder="Request Date">
</label>
</section>
<section class="col col-2">
<label class="input"><i class="icon-append fa fa-clock-o"></i>
<input class="ptoHours" min="0" max="8" type="number" name="hour" id="hour" placeholder="Hours">
</label>
</section>
<section class="col col-2">
<a id="addField" title="Add More Fields" class="btn btn-primary" onclick="addInput('wrapper');"> + </a>
</section>
</div>
JS:私がセクションとラベルを持っているので、兄弟姉妹が移動するための方法をイマイチと思われます。
var timeoffRequests = [];
$("input[class = ptoDate]").each(function(){
var date = $(this).val();
var hours = $(this).siblings('.ptoHours').val();
item ={};
item['date'] = date;
item['hours'] = hours;
timeoffRequests.push(item);
})
うわー、ありがとう!私は自分のコードを見て、どのように関係を処理していたのでしょうか。私は実際に追加された入力行を$(this).closest( 'div')で動的に削除しています。 – EJJ