我正在使用$()。post和php来更改< textarea>的内容。
脚本正在成功 - firebug清楚地显示textarea标签之间的文本已经更改,并且我的小警报会触发。
但是,用户看不到更改。在Firefox中,根本不会发生变化,而在IE中,textarea最迟会更新10秒。
这是我正在使用的jquery:
$(document).ready(function() {
$('#pv_list li:first').addClass('hilite');
$("input[name='db_entries']:first").attr('checked', 'checked');
$("input[name='db_entries']").click(function () {
$.post("changeEntry.php", {post: $(this).val()}, function(data) {
$("textarea").text(data);alert('done');
});
$('#pv_list li').removeClass('hilite');
$(this).parent().addClass('hilite');
});
});
起初我以为是因为页面没有验证,但它验证了xhtml过渡。
真正让我烦恼的是我让它早点工作,无法弄清楚我改变了什么。
答案 0 :(得分:5)
设置.val()
而不是.text()
Stackoverflow存档:
答案 1 :(得分:3)
您是否尝试使用val()设置textarea的值而不是text()?
$.post("changeEntry.php",{post: $(this).val()},
function(data) {
$("textarea").val(data);
alert('done');
});
答案 2 :(得分:0)
使用load()功能会不会更容易?
$("input[name='db_entries']").click(function () {
$("#outputarea").load("?", {"paramName":this.value});
});
答案 3 :(得分:-2)
我不确定,但有一种可能性是你应该这样做:
function(data){
$("textarea").attr("value",data);
alert('done');
}