2013-10-23 28 views
0

我有一個<input>元素。我通過jQuery的attr()方法(AJAX)更改了其value屬性,並且它工作正常。但是,一旦用戶從瀏覽器手動編輯該元素的內容,通過AJAX後續修改value屬性並不反映在渲染中。當我通過Chrome的開發者工具檢查結果,我可以看到這樣的事情:編輯輸入值將禁止通過JavaScript更改它

<input id="foo" value="changed value"> 

這表明AJAX成功改變value屬性,但在瀏覽器上的<input>元素仍然顯示該AJAX操作前值。 value屬性的值與元素上顯示的內容不同。

這是Chrome的錯誤還是預期的行爲?我該如何解決它?

回答

2

使用$('#foo').val()代替$('#foo').attr('value')

+0

我通過哈希'ATTR()',它的工作原理。 'attr('value')'不會做任何事情。 – sawa

+0

http://jsfiddle.net/DTgxC/3/ –

+0

謝謝,就是這麼做的。或者,我想我可以使用'prop()'。 – sawa