Javascript 显示旧内容而不是新内容的jQuery弹出窗口
我对jQuery弹出窗口有问题。我通过ajax加载了一些内容。我希望该内容是一条弹出消息(onclick事件)。第一次单击弹出链接时,它会显示正确的内容。在第一次加载内容(在Ajax中)后,它会显示正确的内容,但下次每当我单击弹出链接时,它会显示第一次加载的旧内容。这是代码Javascript 显示旧内容而不是新内容的jQuery弹出窗口,javascript,php,jquery,ajax,Javascript,Php,Jquery,Ajax,我对jQuery弹出窗口有问题。我通过ajax加载了一些内容。我希望该内容是一条弹出消息(onclick事件)。第一次单击弹出链接时,它会显示正确的内容。在第一次加载内容(在Ajax中)后,它会显示正确的内容,但下次每当我单击弹出链接时,它会显示第一次加载的旧内容。这是代码 <div id="company"> <div class="video-text"> <script> function popup () { $( "#dialog" ).d
<div id="company">
<div class="video-text">
<script>
function popup () {
$( "#dialog" ).dialog({
modal: true,
buttons: {
Ok: function() {
$( this ).dialog( "close" );
}
}
});
};
</script>
<?php if (!empty($video_details)) {?>
<p><?php echo $video_details['companyName'];?></p>
<span class="txt-small"><?php
$company_desc = $video_details['companyDesc'];
echo substr("$company_desc", 0, 60);
//echo $company_desc;
?>
</span>
<input type="submit" onclick="popup()" value="Read more..">
<div id="dialog" title="Read more..">
<p><?php echo $company_desc;?></p>
</div>
<?php }?>
</div>
在这里,我将我的id发布到load_company
controller,它在company
div中呈现内容和加载。。
加载公司中的所有内容
包含弹出内容。。
这是我的firebug帖子
id 213
响应
<div id="company">
<div class="video-text">
<script>
function popup () {
$( "#dialog" ).dialog({
modal: true,
buttons: {
Ok: function() {
$( this ).dialog( "close" );
}
}
});
};
</script>
<span class="txt-small">Lorem Ipsum is simply dummy text of the printing and typeset
</span>
<input type="submit" onclick="popup()" value="Read more..">
<div id="dialog" title="Read more..">
<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>
</div>
</div>
函数弹出(){
$(“#对话框”)。对话框({
莫代尔:是的,
按钮:{
好的:函数(){
$(此).dialog(“关闭”);
}
}
});
};
Lorem Ipsum只是印刷和排版的虚拟文本
Lorem Ipsum只是印刷和排版行业的虚拟文本
提前谢谢 您的弹出窗口()代码>函数只显示对话框,在显示对话框之前,您需要让此函数也执行ajax请求
另外,我能问一下你为什么不使用,因为你似乎已经在使用图书馆了
比如:
function popup () {
$.post( "test.php", { id: current.id }, function( data ) {
$("#company").innerHTML=data;
$( "#dialog" ).dialog({
modal: true,
buttons: {
Ok: function() {
$( this ).dialog( "close" );
}
}
});
});
}
您还需要在内容元素上设置一个ID:提交按钮刚刚弹出名为“dialog”的div。请查看负责更新变量$company_desc的函数
我猜您的if(!empty($video_details))语句不允许您更新company_desc变量。更改您的逻辑。在Ajax之后,您必须更新dialog div,但在代码中您更新了company div,并显示了dialog div。我更新了我的帖子。谢谢。您的Ajax回调函数正在更新company
div,但是您的弹出窗口显示了对话框
DIV。当然可以。我尝试加载所有内容。对话框DIV也在公司DIV下。那么…这就是问题所在吗?为什么不使用$.ajax()
而不是冗长的原始javascript ajax?请更新您的代码以显示公司DIV。但它在第一时间显示了正确的内容(通过ajax加载第二个内容后)问题在第一次之后,每当我单击它时,它都会显示第一次加载的旧内容..我更新了我的帖子..谢谢..我尝试了它,但它不起作用(我对ajax.jquery有点陌生)。所以我只是使用了它..很抱歉,它们可能有一些语法错误,让我检查一下并尽快更新
function popup () {
$.post( "test.php", { id: current.id }, function( data ) {
$("#company").innerHTML=data;
$( "#dialog" ).dialog({
modal: true,
buttons: {
Ok: function() {
$( this ).dialog( "close" );
}
}
});
});
}