2010-09-11 15 views
7

OK, więc powiedzmy, że mam to:Case-niewrażliwy switch-case

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

... to byłoby tylko prowadzony jeśli wpisane "Test" i nie "test" lub „TEST ". Jak sprawić, aby w przypadku funkcji JavaScript nie było rozróżniania wielkości znaków?

+0

możliwe duplikat [Jak używać jQuery ignorowanie wielkości liter podczas wybierania?] (Http://stackoverflow.com/questions/619621/how-do-i-use-jquery-to-ignore-case -when-selection) – Lazarus

+0

@Lazarus: Pyta o rozróżnianie wielkości liter w przypadku przełączników, a nie selektorów jQuery (jak inne pytanie). To nie jest duplikat. –

Odpowiedz

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

Ach tak - genialne, ale proste rozwiązanie. Dzięki. – nn2

+0

2 minuty szybciej ode mnie. * slaps self * do edycji tagów przed odpowiedzią na pytanie :) – Marko

+0

@dan: cieszę się, że pomogłem :) @Marko: nie mogę policzyć ile razy skasowałem odpowiedź i oddałem głos na kogoś innego ;-) –

4

Konwertuj na duże litery. Wierzę, że to jest jak to jest zrobione, poprawcie mnie jeśli się mylę ... (nie -1 mnie = D)

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

Poprawnie ! Ale Matt był pierwszy. Przepraszam. : P – nn2

+0

Ok ... więc przyjmij jedną odpowiedź ...: P – Cipi

4

Dlaczego nie małe litery wartość i sprawdzić przed małymi literami wewnątrz instrukcji switch?

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

Wielkie umysły myślą podobnie. Sprawdź odpowiedź Matta. : P – nn2