2013-07-31 15 views
20

Po załadowaniu dokumentu próbuję wywołać zdarzenie kliknięcia pierwszego przycisku radiowego .... ale zdarzenie kliknięcia to not triggered. Również wypróbowano "zmianę" zamiast kliknięcia ... ale to ten sam wynik.Wybierz i wywołaj zdarzenie kliknięcia przycisku radiowego w jquery

$(document).ready(function() { 
    //$("#checkbox_div input:radio").click(function() { 

    $("input:radio:first").prop("checked", true).trigger("click"); 

    //}); 



    $("#checkbox_div input:radio").click(function() { 

     alert("clicked"); 

    }); 

}); 

proszę poniższy link na pytanie

Przykład: http://jsbin.com/ezesaw/1/edit

Proszę mi pomóc w uzyskaniu tego prawa. Dzięki!

+2

najpierw napisz funkcję zdarzenia kliknięcia, a następnie wywołaj ją z wyzwalaczem –

Odpowiedz

29

Wywołujesz zdarzenie , zanim zdarzenie zostanie wyrównane.

Wystarczy przenieść triggering zdarzenia po dołączeniu zdarzenia.

$(document).ready(function() { 
    $("#checkbox_div input:radio").click(function() { 

    alert("clicked"); 

    }); 

    $("input:radio:first").prop("checked", true).trigger("click"); 

}); 

Check Fiddle

11

Przełącz kolejność kodu: Dzwonisz zdarzenie click zanim zostanie załączony.

$(document).ready(function() { 
     $("#checkbox_div input:radio").click(function() { 

      alert("clicked"); 

     }); 

     $("input:radio:first").prop("checked", true).trigger("click"); 

}); 
1

Moje rozwiązanie jest nieco inna:

$('input[name="your_radio_input_name"]:radio:first').click(); 
0

W moim przypadku miałem do ładowania obrazów na kliknięcie przycisku radiowego, Właśnie używa zwykłego onclick zdarzenia i pracował dla mnie.

<input type="radio" name="colors" value="{{color.id}}" id="{{color.id}}-option" class="color_radion" onclick="return get_images(this, {{color.id}})"> 

<script> 
    function get_images(obj, color){ 
    console.log($("input[type='radio'][name='colors']:checked").val()); 

    } 
    </script> 
Powiązane problemy