ciao a tutti ho un problema nello strutturare una funzione che mi permetta di aprire o chiudere determinati <tr> di una tabella

i tr sono divisi in due gruppi :
codice:
<tr class="single"></tr>
<tr class="coppia"></tr>
poi ho una select di questo tipo:
codice:
 <select id="genere">
<option id="All"></option> 
<option id="uomo"></option>  
<option id="donna"></option>
<option id="couple"></option>                    
 </select>
quindi poi nel js io faccio:
codice:
 $("select#genere").live('change',function(){
         genere = $("select#genere option:selected").attr("id");
         if(genere === 'couple')
         {$(".coppia").show();
         $(".single").hide();}
          else{
         {$(".coppia").hide();
         $(".single").show();}
              }
     });

Quindi quando seleziono una option dalla select la var genere diventa = all'atributo id della stessa option:selected

se poi genere è = a 'couple' mi apre tutti i tr con class .coppia altrimenti me li nasconde facendomi vedere solo quelli con class . single
solo che a volte funziona a volte no....e su IE proprio non va....

qualcuno ha un metodo migliore da suggerirmi?

grazie a chi mi da una mano