2011-04-12 56 views
1

我在jQuery UI模式對話框中有一個textarea。 我試圖改變這樣的文本框的值:模態對話框中的FireFox textarea問題

1) $('#textarea').val('test value'); 
2) $('#textarea').text('test value'); 

雙方在所有瀏覽這些工作。除了Firefox,它只能運行一次。

使用新值再次調用其中任何一個時,textarea值保持不變。無論這是模態對話框打開還是打開之前(它以textarea id =「textarea」作爲內容的一部分打開 - 因此在打開之前更改它的值)應該在打開時保留該值文本框)。

正如在其他線程建議,我試圖做

$('#textarea').css('display', 'block'); 

兩者之前和設置textarea的值之後。

任何線索?

我不明白爲什麼這個問題只發生在FireFox中 - 通常是Firefox中的所有功能,但不在其他瀏覽器中。

謝謝。

+0

我遇到同樣的問題。你有沒有解決這個問題? – silent1mezzo 2011-05-10 21:41:13

回答

0

由於它工作一次,它不完全破碎。既然你用Firefox開發,我假設你也使用Firebug。您應該嘗試通過編寫

console.log($('#textarea')); 

您第一次嘗試設置值之前和之後。看到j​​Query能否在第一次設置之後選擇它會很有趣。

+0

對我來說,當我做一個console.log(甚至是警報)的值是正確的。但他們沒有在FF4中顯示。 – silent1mezzo 2011-05-10 21:41:32

0

這不是設置值的問題,而是使用對話框('打開')方法在每次調用時重置這些textarea值。這似乎是FF和jqueryUI對話框之間的一些錯誤,因爲它在幾個月前開始發生,之前它工作正常。

解決方案很簡單,只需在顯示對話框之後填入textareas的值,而不是之前。

0

我就遇到了這個問題,與Firefox 5.0.1和jQuery UI 1.8.14

我莫名其妙地通過移動click事件處理函數中.dialog()調用,而不是創建對話框的onload解決此砍死。這意味着每次點擊打開對話框都會重新創建整個對話框(我認爲),這可能是解決textarea問題的方法。

您的里程可能會有所不同。