2010-06-21 57 views
1

$('#filedset')。find(「select,input,textarea」)。change(function(){alert($(this).val ()); });如何獲取使用jQuery的更改函數的輸入和textarea值

如果我使用此代碼,當我更改我的dropdownlistbox上的任何東西我收到警報,但當我改變任何東西在我的輸入或textarea更改文本我得到警報?

是我做錯了什麼?

感謝

回答

1

change事件,這些火的時候,他們失去了正常對焦(如點擊之外),如果您希望處理程序爲您鍵入的執行,我建議使用.keyup()事件,而不是(這樣你就得到正確的值,​​將值沒有當前的關鍵考慮)。

像這樣:

$('#filedset').find('select, input, textarea').bind('change keyup', function() { 
    alert($(this).val()); 
}); 

或者如果你有很多和/或動態的元素,你可以使用.delegate(),像這樣:

$('#filedset').delegate('select, input, textarea','change keyup', function() { 
    alert($(this).val()); 
}); 
+0

這不是爲我工作,我沒有得到提醒任何值更改 – user354625 2010-06-21 14:49:28

+0

@rockers - 這裏是一個簡短的演示:http://jsfiddle.net/6X5d5/1/你確定你的選擇器是否正確,你的意思是'$(「fieldset」)',尋找'

',或者你真的在尋找'id =「filedset」'? – 2010-06-21 14:54:40

+0

真棒它爲我工作.. – user354625 2010-06-21 15:49:14

相關問題