2011-01-31 85 views
0

我試圖做這樣的事情如何在jQuery case語句中循環?

case KEY.ATSIGN: 
    while(!KEY.SPACE) { 
     clearTimeout(timeout); 
     timeout = setTimeout(onChange, options.delayLong); 
    } 
    break; 

ATSIGN = 50這對於@ ..這將調用自動完成下拉的ASCII碼。

SPACE = 32這是空格字符的ascii。

我需要它下拉自動完成,並允許子集搜索或matchContains搜索,直到輸入空格字符。這可能嗎?

回答

1

是你的代碼這樣嗎?

switch(e.which){ 
    case KEY.ATSIGN : while(!KEY.SPACE){...} 
} 

如果是,那就錯了。當真正的按鍵發生時(真)。

試試這個

switch(e.which){ 
    case KEY.SPACE: onChange(); 
} 

我不是很明白。但試試這個。

<input type='text' /><select>...</select> 
... 
$("input").keydown(function(e){ 
    switch(e.which){ 
    case KEY.ATSIGN : $(this).keyup(doSomething); 
    case KEY.SPACE : $(this).unbind("keyup"); 
    } 
}) 
function doSomething(){...} 
+0

謝謝Bonshington ......但問題是,它不調用在第一下拉當你輸入一個@符號....我需要它搞的當@鍵入,然後自動建議應該正常工作,然後從本質上來說,當輸入空格,它應該取消下拉,並等待下一個@符號被輸入.... – 2011-01-31 07:28:42