2012-06-15 68 views
-1

我想利用回調方法jQuery的.VAL()方法中(這顯然不支持)的替代品。例如:在jQuery的.val()中使用回調是否有其他選擇?

http://jsbin.com/ilahan/edit#source

$("#box").val("The New Value", function(){ 
    alert("It's changed now"); 
}); 
+5

'.val'是瞬間變化,所以沒有必要的回調呢?你爲什麼首先需要它? –

+1

不,您不能,因爲API文檔和您的測試都明確指出。此外,使用回調沒有意義。 –

+0

所以,這是一個XY問題的一個很好的例子 - 但我會離開它爲後人的緣故。 –

回答

3

這有什麼錯用.change

$("#box").val("The New Value").change(function(){ 
    alert("It's changed now"); 
}); 

由於維加在他的評論指出,改變從代碼VAL不會觸發更改事件不管什麼:.val() doesn't trigger .change() in jquery

+0

這段代碼做了什麼?更改值並註冊一個處理程序? –

+0

如果以相反的順序,然後鏈接你甚至當你正在設置值 –

+0

@RuneFS甚至還在它沒有任何意義,添加一個處理這個問題的變化事件的處理程序。 –

1

世界上沒有必要設定值時,做回呼,因爲變化立即發生。 如果您正在尋找執行代碼時字段值的更改,您可以使用:

$("#box").change(function(){ 
    alert('value changed'); 
}); 
3

.val是瞬間變化,所以沒有必要的回調?爲什麼你需要這樣的回調?

下面的代碼也應該這樣做,你從一個回調通緝.val

$("#box").val("The New Value"); 
alert("It's changed now"); 
相關問題