2010-10-25 16 views
5

Ich kann nicht scheinen, diese Funktion zu erhalten scheint, wie es solltejQuery Änderungsfunktion nicht funktioniert

$('.titleother').change(function() { 

if ($('.titleother').val() == 'Other') { 
    ​$('.hiddentext').css('display','block') 
}​​​ 

}) 

Für diesen HTML

<select class="titleother">​ 
<option value="1">1</option> 
<option value="2">2</option> 
<option value="Other">Other</option> 
</select> 

<p class="hiddentext" style="display:none">TEXT</p> 

Irgendwelche Ideen?

+0

Sicher ist es nicht [Arbeit] (http://jsfiddle.net/amuec/)? – jensgram

+1

Es scheint nicht für mich zu arbeiten? –

+1

anstelle von if ($ ('titleother. ') Val() == 'Sonstige'.) $ (' Hiddentext. ') Css (' display', 'block') der bessere Weg ist. $ ('.hiddentext'). toggle ($ (this) .val() == 'Andere'); – Floyd

Antwort

13

Dies funktioniert für mich mit Chrome:

$(function(ready){ 
    $('.titleother').change(function() { 
     if ($(this).val() == 'Other') { 
      $('.hiddentext').show(); 
     } 
    }); 
}); 

http://jsfiddle.net/amuec/11/

(Darins Code für mich funktionierte nicht)

+0

Danke das funktioniert für mich –

5

Stellen Sie sicher, dass dieses in einem $(document).ready, so dass das DOM bereit ist, wenn Sie die .change() Handler anhängen:

$(function() { 
    $('.titleother').change(function() { 
     if ($(this).val() == 'Other') { 
      ​$('.hiddentext').show(); 
     }​​​ 
    }); 
}); 
+0

Scheint nicht zu funktionieren http://jsfiddle.net/ExtWV/1/ –

+0

Diese Geige funktioniert für mich? Bist du sicher, dass JavaScript aktiviert ist? – Alex

+0

Ja auf jeden Fall bekam Javascript aktiviert - ich bin mit Safari auf dem Mac - aber haben sie in Chrome auch versucht, und es funktioniert nicht –

4

Ich glaube, Sie fehlen ;
Check here

+0

Das funktioniert auch nicht? –

+0

Haben Sie Fehler bekommen? Ich habe es in Firefox getestet. Es funktioniert gut für mich. – svk

+0

Suchst du, wenn 1 und 2 ausgewählt ist, muss es versteckt werden? – svk