2012-07-13 56 views
1

我不想寫ifs內的每個字母在一個文本框中鍵入的比爾門的信件,我將字母拆分成數組或什麼?Javascript連續輸入的字符串保持項目淡入

function callManagers(val){ 
    var val = $("#limitedtextarea").val(); 
    if (val.indexOf('@BillGates')<=-1) { 
     if(val.indexOf('@') > -1) { 
      if (val.indexOf('b') > -1 || val.indexOf('B') > -1) { 
       $("#test").fadeIn(); 
      } 
     } 
    } 
} 

我希望用戶打字比爾·蓋茨和試驗留在褪色,只要他們這樣做,但淡出如果他們鍵入比爾·蓋茨是錯誤的。

+0

你想做什麼?確保用戶正在輸入「@Bill Gates」? – Jay 2012-07-13 22:57:46

+0

@Jayraj對不起,我會試着更具體一些,是的,我希望用戶打字比爾蓋茨和測試保持褪色,只要他們這樣做,但淡出,如果他們鍵入比爾茲 – kqlambert 2012-07-13 22:59:37

+1

只是FYI,它是通常是健康的,以開始一個SO問題,並對你想要完成的事情進行總體概述。在這種情況下,類似於「我有一個文本區域,並且我試圖在用戶輸入'@BillGates'時觀察它,以便我可以通過觸發淡入來作出響應」,然後再深入細節,可能有幫助。 – machineghost 2012-07-13 23:02:01

回答

3

爲什麼不能這樣?

var str = "@BillGates", 
    val = $("whatever").val(); 
if(str.indexOf(val) === 0) { //means val is a substring of "@BillGates" 
    //do fade in 
} 
+2

'illG'會返回正值;你應該檢查'str.indexOf(val)== 0' – 2012-07-13 23:04:02

+0

@DavidThomas好點! Udpated – Jay 2012-07-13 23:04:32

+1

'val'的值現在是'[object Object] :) :) – Utkanos 2012-07-13 23:05:12