2017-10-29 11 views
0

以下の入力を名前client idでどのようにターゲットにするのか混乱しました。jqueryで親要素を取得するには?

だからここに私は:

$('.switch input').on('change',function() { 
    if (this.checked) { 
     var parent_el = $(this).parents().eq(1).closest('input[name="client_id"]').val(); 
     // var client_id = $(parent_el[0]+' input[name="client_id"]').val(); 
     console.log(parent_el); 
    } else { 
     alert('Its UNCHECKED'); 
    } 
}); 

注:からそれを参照しながら、私は名前client_idで入力の値を取得したい。ここ

<td class="main_contact"> 
    <input type="hidden" name="client_id" value="45"> 
    <label class="switch"> 
     <input type="checkbox"> 
     <span class="slider round"></span> 
    </label>  
</td> 

は、私のようにしようとしたものです$(this)要素は、現在の変更された要素の入力データだけを取得するように、すべての入力のデータではありませんか?

+0

http://api.jquery.com/parentsを、 http://api.jquery.com/parentまたはhttp://api.jquery.com/closestを参照してください。いずれにしても、このような簡単なクエリのjQueryドキュメントを読むことをお勧めします。 –

答えて

1

あなたはちょうど.parent('selector')と書くことができますが、この場合、条件なしで親を欲し、兄弟を得ることができます。

$('.switch input').on('change', function() { 
 
    if (this.checked) { 
 
    var parentVal = $(this).parent().siblings('input[name="client_id"]').val(); 
 
    console.log(parentVal); 
 
    } else { 
 
    alert('Its UNCHECKED'); 
 
    } 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<td class="main_contact"> 
 
    <input type="hidden" name="client_id" value="45"> 
 
    <label class="switch"> 
 
    <input type="checkbox"> 
 
    <span class="slider round"></span> 
 
    </label> 
 
</td>

+0

あなたはそれを持っています。いいぞ ! :) –

関連する問題