Autor Zpráva
WeeHool
Profil
Dobré odpoledne všichni chodní geekové..
Mám problémeček, který bych chtěl vyřešit pomocí jquery.

Mám formulář, kde to vypadá asi takhle:

<div class="produkt">
    <div class="sloupec1">
        <input type="text" name="nazev[1]" value="Světlo Dětská svítidla Animals lustr" disabled>
    </div>
    <div class="sloupec2">
        <input type="checkbox" name="check[1]">
    </div>
</div>
<div class="produkt">
    <div class="sloupec1">
        <input type="text" name="nazev[2]" value="Světlo Dětská svítidla Animals lustr" disabled>
    </div>
    <div class="sloupec2">
        <input type="checkbox" name="check[2]">
    </div>
</div>

no a když kliknu na checkbox, potřebuju aby se mi změnil disabled u textu.
Zatím mám tohle:
$(function(){
    $('.produkt input:checkbox').on('change', function(){
        if($(this).is(':checked'))
        {
            $(this).prev('input:text').attr('disabled', false);         
        } else
        {
            $(this).prev('input:text').attr('disabled', true); 
        }
    });
});
ale to funguje jen ve společném divu (nesměly by tam být ty sloupce)..

Prosím, byl by někdo tak laskavý a pomohl by mi??
WeeHool
Profil
tak už to mám takhle:

$('.produkt input:checkbox').on('change', function(){
        if($(this).is(':checked'))
        {
            $(this).parent().parent().parent().parent().toggleClass('radek11 radek11-act');
            $(this).parent().parent().parent().parent().find(':input').attr('disabled', false);
            $(this).parent().parent().parent().parent().parent().children(".info").children(".sliding3div").find('textarea').attr('disabled', false);         
        } else
        {
            $(this).parent().parent().parent().parent().toggleClass('radek11-act radek11');
            $(this).parent().parent().parent().parent().find(':input').attr('disabled', true);
            $(this).parent().parent().parent().parent().parent().children(".info").children(".sliding3div").find('textarea').attr('disabled', true);
            $(this).parent().parent().parent().parent().find('input:checkbox').attr('disabled', false); 
        }
    });

když mě zbavíte těch parentů, budu jen rád..
Chamurappi
Profil
Reaguji na WeeHoola:
Kdybys tady neměl odpověď, tak bych ti tuto duplicitu smazal.

když mě zbavíte těch parentů
Nastuduj si Proměnné.

on('change'
Událost onchange nefunguje stejně ve všech prohlížečích, použij onclick.
_es
Profil
WeeHool:
Ak odstrániš všetky medzery a zalomenia riadkov z priestoru medzi značkami z obsahu <div class="produkt">, tak:
this.parentNode.previousSibling.firstChild.disabled = !this.checked;

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: