2010-09-11 21 views
7

Ok, diciamo che ho questo:Case-insensitive switch-case

$(function() { 
    $('#good_evening').keyup(function() { 
    switch($(this).val()) { 
    case 'Test': 
     // DO STUFF HERE 
     break; 
    } 
    }); 
}); 

... questo sarebbe solo periodo se si digitato "Test" e non "test" o "TEST ". Come faccio a renderlo case-insensitive per le funzioni JavaScript?

+0

possibile duplicato di [Come posso utilizzare jQuery di ignorare caso quando si seleziona?] (Http://stackoverflow.com/questions/619621/how-do-i-use-jquery-to-ignore-case -quando-selezionando) – Lazarus

+0

@Lazarus: si tratta di case-sensitive per switch-case, non selettori jQuery (come l'altra domanda è). Non è un duplicato. –

risposta

31
switch($(this).val().toLowerCase()) { 
    case 'test': 
    // DO STUFF HERE   
    break; 
} 
+0

Ah sì - soluzione brillante ma semplice. Grazie. – nn2

+0

2 minuti più veloce di me. * slaps self * per la modifica dei tag prima di rispondere alla domanda :) – Marko

+0

@dan: contento di aver aiutato :) @Marko: non posso contare il numero di volte che ho cancellato una risposta e ho votato qualcun altro ;-) –

4

Converti in maiuscolo. Credo che questo sia come è fatto, mi corregga se sbaglio ... (dont -1 me = D)

$(function() { 
    $('#good_evening').keyup(function() { 
      switch($(this).val().toUpperCase()) { 
      case 'TEST': 
      // DO STUFF HERE 
      break; 
     } 
    }); 
}); 
+0

Corretto ! Ma Matt è stato il primo. Scusate. : P – nn2

+0

Ok ... quindi accetta una risposta ...: P – Cipi

4

Perché non minuscole il valore, e controllare contro minuscole all'interno della vostra istruzione switch?

$(function() { 
    $('#good_evening').keyup(function() { 
     switch($(this).val().toLowerCase()) { 
     case 'test': 
     // DO STUFF HERE 
     break; 
     } 
    }); 
}); 
+0

Le grandi menti pensano allo stesso modo. Controlla la risposta di Matt. : P – nn2