2012-11-19 12 views
5

strona jest tutaj:Dlaczego nie mogę wywołać zdarzenia `change` radia za pomocą jquery?

http://cistrome.org/cps/seqconfig?did=2693

i oryginalny kod js są poniżej (ten działa dobrze):

$(document).ready(function(){ 
    $(".open_gene").on('change', function(event) { 
     $('#Gene_field').show(); 
    }); 

    $(".close_gene").on("change", function(event){ 
     $("#Gene_field").hide(); 
    }); 
}); 

Więc .close_gene ma obsługi zdarzeń dla change. Ale gdy chcę ręcznie wywołać to zdarzenie, aby ukryć #Gene_field coś takiego:

>>> $('.close_gene').trigger("change") 

W FireBugs, zwracana wartość jest:

[input#nolimit_radio.close_gene all] 

Ale #Gene_field nie jest ukryty ..

Zastanawiam się, dlaczego nie mogę wywołać zdarzenia change, które powinno już być bind na function(event){ $("#Gene_field").hide();}. Czy ktoś ma pomysły na ten temat? Dzięki!

+0

Witaj, tylko przyjazny dla Ciebie, który łączy t o osobiste strony są zniechęcane, ponieważ przerywają się w czasie (jak ten ma). Zobacz [Coś na mojej stronie internetowej lub projekt nie działa. Czy mogę po prostu wkleić link do tego?] (Https://meta.stackoverflow.com/q/254428/1366033). Kod wbudowany bardzo pomaga, ale lepiej byłoby uruchomić demo w jsFiddle lub urywkach stosu. Dlaczego opieka w ogóle 5 lat po zadaniu pytania? Ponieważ przyszli czytelnicy tacy jak ja i 8711 innych osób wciąż znajdują to pytanie podczas wyszukiwania, a SO to nie tylko miejsce na rozwiązywanie własnych problemów, ale także budowanie wiedzy. – KyleMit

Odpowiedz

8

Spróbuj tego:

$(".close_gene").click(); 

jego pracy w porządku dla mnie w konsoli Firebug ... :)

Aktualizacja:

Powinno to również pracować, ale nie zmieni stanu przycisku radiowego

$(document).ready(function(){ 
    $(document).delegate(".open_gene",'change', function(event) { 
    $('#Gene_field').show(); 
    }); 

    $(document).delegate(".close_gene", "change", function(event){ 
    $("#Gene_field").hide(); 
    }); 
}); 

$('.close_gene').trigger("change"); 
+1

Dzięki! Działa. Wygląda jednak na to, że zamiast zdarzenia click należy użyć zdarzenia 'change', prawda? Dlaczego '$ (" close_gene "). Change();' lub '$ (" close_gene "). Trigger (" change ")' nie działa? –

+0

@Firegun - Masz już dość grania z Firebug ... :( – rajukoyilandy

+0

@Firegun - zobacz moją aktualizację – rajukoyilandy

Powiązane problemy