JQuery ile komşu gizli girişin değerini seçmek nasıl?

3 Cevap php

Bir kullanıcı aşağıdaki "li" sonunda img tıkladığında, ben iki unsur önceki gizli girişin değerini almak istiyorum.

<ul id="theLists">
    <li>
    <input class="checkbox" type="checkbox" name="row"/>
    <input class="contentId" type="hidden" value="64" name="id"/>
    <div id="64" class="editable">Peanuts for me</div>
    <img src="/img/delete.gif" alt="delete"/>
    </li>
</ul>

Ben bu çalıştı:

$(document).ready(function(){
    $("#theLists img").click(function(){
        var contentId = $(this).closest("input[name='id']").val();			
    });

Boşuna. Herhangi bir düşünce? Ben bu durumda "64" olan satır kimliği ile bir var ayarlamanız gerekir.

3 Cevap

(...) yakın yakın üst düğüm değil, en yakın kardeş alır.

Ne istediğinizi yapmak için birden fazla yol, aslında vardır.

Bu deneyin:

var contentId = $(this).siblings("input[name='id']").val();

var contentId = $(this).parent().children("input[name='id']").val();

var contentId = $(this).prev().prev().val();

See complete solution here.

Sen için id niteliğini taşıyabilir <li>, gizli alanı kaldırmak ve sadece kullanmak içeren:

var contentId = $(this).parent().get(0).id;

Burada avantaj ileride bir kardeş konumu hakkında endişelenmenize gerek kalmadan vb "düzenleme" gibi diğer eylemler, ekleyebilirsiniz olmasıdır.

Güzel ve ucuz:

var contentId = $(this).parents('li:first').find('.contentId').val();