模态对话框中的FireFox textarea问题

时间:2011-04-12 17:55:26

标签: jquery firefox dialog textarea modal-dialog

我在jQuery UI模式对话框中有一个textarea。 我尝试像这样更改文本框值:

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

这两种方法都适用于所有浏览器。除了在Firefox中它只适用于ONCE。

当使用新值再次调用其中任何一个时,textarea值保持不变。无论是在模态对话框打开时还是在打开模式对话框之前(它都以textarea id =“textarea”作为内容的一部分打开 - 所以在打开之前更改它的值,应该在打开时保留值文本框)。

正如其他帖子中所建议的,我尝试了

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

在设置textarea的值之前和之后。

任何线索?

我无法弄清楚为什么在FireFox中出现这个问题 - 通常是Firefox中的所有功能,但在其他浏览器中却没有。

谢谢。

3 个答案:

答案 0 :(得分:0)

因为它工作一次,它没有完全破碎。由于您使用Firefox进行开发,我假设您也在使用Firebug。您应该通过编写

来尝试简单的调试
console.log($('#textarea'));

在您第一次尝试设置值之前和之后。看到j​​Query能够在第一次设置后选择它会很有趣。

答案 1 :(得分:0)

这不是设置值的问题,而是使用对话框('open')方法在每次调用时重置那些textarea值。这似乎是FF和jqueryUI对话之间的一些错误,因为几个月前它开始发生,它之前运行良好。

解决方案很简单,只需在显示对话框后填充textareas的值,而不是之前。

答案 2 :(得分:0)

我使用Firefox 5.0.1和jQuery UI 1.8.14

遇到了这个问题

我通过在单击事件处理程序中移动.dialog()调用而不是创建对话框onload,以某种方式破解了这一点。这意味着每次单击打开对话框都会重新创建整个对话框(我认为),这可能是修复textarea问题的原因。

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