2011-08-23 13 views
7

Jak wykryć w jQuery, kiedy zmieniono opcję w znaczniku select?jQuery - moduł obsługi zdarzeń wykrywający, czy została wybrana opcja HTML select

Na przykład [pseudokod]:

event handler function -> option changed(){  
    //do some stuff 
} 

EDIT:

Mam następujący wybierz:

<select id = "selectattribute"> 
    <OPTION VALUE="0">Choose Attribute</OPTION> 
    <?php echo($options);?> 
</select> 

Próbuję to w jQuery:

$(document).ready(function() { 
    $("#selectattribute").change(function() { 
    alert('Handler for .change() called.'); 
    }); 
}); 

Nic się nie dzieje ... th e funkcja nie uruchamia się.

EDIT: to działa, gdy używam $("#select") zamiast $("#selectattribute")...can you not apply it to particular select tags?

+0

dołączyć słuchacza do wybierz element przypadku zmian. Możesz użyć jQuery (lub dowolnej z wielu bibliotek) lub kilku linii zwykłego skryptu lub instrukcji obsługi w linii. – RobG

+0

@RobG: Naprawdę nie powinieneś proponować programu wbudowanego ... – Saxoier

+0

Czy próbowałeś różnych przeglądarek? –

Odpowiedz

8

Od jQuery docs regarding the change handler:

<form> 
    <input class="target" type="text" value="Field 1" /> 
    <select class="target"> 
    <option value="option1" selected="selected">Option 1</option> 
    <option value="option2">Option 2</option> 
    </select> 
</form> 
<div id="other"> 
    Trigger the handler 
</div> 

obsługi zdarzeń może być zobowiązany do wprowadzania tekstu i wybierz pole:

$('.target').change(function() { 
    alert('Handler for .change() called.'); 
}); 
+0

Cześć Widziałem to i zaimplementowałem, ale to nie działa ... zobacz mój zredagowany wpis – user906568

+0

Powinien działać zgodnie z kodem opublikowanym w twoja edycja. Zobacz link fiddle "Jon P" w innej odpowiedzi tutaj. Twój opublikowany kod działa po wyizolowaniu. Możliwe, że masz inne rzeczy na pozostałej części strony, które zepsują to - być może będziesz musiał opublikować cały HTML strony. Czy używasz nazwy identyfikatora więcej niż jeden raz? Czy są jakieś błędy JavaScript w konsoli? –

1
$("select").change(function() {}) 
+0

Próbowałem, ale to nie działa -> zobacz mój edytowany post – user906568

+0

trzeba spojrzeć na dokumenty dla selektorów jquery '$ (" wybierz ")' wybrał wszystkie '