2011-04-12 55 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问题的方法。

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