2013-01-08 32 views
1

我在選擇框中遇到問題。我爲事件onchange分配了一個ajax處理程序。如果你使用鼠標,它工作正常。不過,當使用鍵更改選項時,我需要它工作。選項會改變,但只有在select失去焦點時纔會發出ajax調用。這個問題似乎是Firefox特定的。Ajax調用選擇框的更改,由按鍵觸發Firefox

Fiddle

有誰知道我能做到這一點?

回答

1

你可以分配onkeyup事件進行選擇,然後聽更改手動看到代碼

$("#sel").change(function(){ 
    alert("hello"); 
}); 

oldval = $("#sel").val(); 

$("#sel").keyup(function(){ 
    if(oldval != $("#sel").val()) 
    $(this).change(); 
}); 

當然,應該之前生產的使用加以完善,但它是一個開始。順便說一句,如果您在通過鍵盤更改值之後按Enter鍵,則更改事件會啓動。我相信你沒有按回車鍵。所以價值確實不變,而是處於變化的狀態。所以瀏覽器不會觸發更改事件。

我希望它會有幫助。

0

上下箭頭僅用於瀏覽選項,但如果要觸發它們,則需要按Enter鍵。

UPDATE

其實選項還沒有被選中,直到您按回車鍵或焦點從選擇框中去。關鍵事件和鼠標點擊事件的行爲有點不同。

相關問題