2014-01-20 36 views
0

小提琴 - http://jsbin.com/oJUMIjUj/1/edit更簡單的方法來寫如果val =多種功能

// Autocomplete Search 
$(".talk").on('keyup change', function() { 
    var $val = $(this).val(); 

    if($val === "Say Hi") { 
    alert('Ello Mate!'); 
    } 


    if($val === "Say Bye") { 
    alert('Bye Bye'); 
    } 
}); 

因爲這個功能是區分上的文本輸入類型敏感的依賴。有沒有更簡單的方法來編寫這個功能?

例子...

if($val === "Say Hi", "Say Bye", "say hi", "say bye", "Hi", "Bye") { 
    alert('Ello Mate!'); 
} 

if($val === "Say Hi", $val === "Say Bye", $val === "say hi", $val === "say bye", $val === "Hi", $val === "Bye") { 
    alert('Ello Mate!'); 
} 
+1

您在第一功能提醒兩種不同'String's,但在第二個提醒相同的'字符串'。你能否更好地解釋你想要達到的目標? –

+0

只是一種更簡單的方法來編寫這些函數,而不是個人如果val ===這個函數。 –

回答

5

調用函數toLowerCase()$val的比較。

if($val.toLowerCase() === "save") { 
    saveTextAsFile(); 
    } 
+0

我知道這一點。我更新了我的問題以獲得更多關聯。 –

+3

@ mikethedj4我會看一看,但你改變了整個問題。 –

1

可以嘗試$.inArray()具有可能的值的陣列,下面將滿足各4例中任一項

if ($.inArray($val.toLowerCase(), ["say hi", "say bye", "hi", "bye"]) > -1) { 
    alert('Ello Mate!'); 
} 
+0

謝謝你的幫助。 –