jQuery弹出显示旧内容,而不是新内容
jQuery pop up showing old content not the new content
我在弹出jQuery时遇到问题。我通过ajax加载了一些内容。我希望这些内容是一条弹出消息(onclick事件)。在我第一次点击弹出链接时,它会显示正确的内容。在第一次加载内容(在Ajax中)后,它会显示正确的内容,但下次每当我单击弹出链接时,它都会显示第一次加载的旧内容。这是代码。。
<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>
Ajax:
var xmlhttp;
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementById("company").innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open("POST","http://172.16.1.181:85/mydomain/home/load_company/",true);
xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
var data = 'id='+current.id;
xmlhttp.send(data);
//alert(current.id);
}
在这里,我将我的id发布到load_company
控制器,它在company
div中呈现内容和加载。。加载公司div 中的所有内容
<p><?php echo $company_desc;?></p>
包含弹出内容。。这是我的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>
提前感谢。。!!
popup();
函数只显示对话框,在显示对话框之前,您需要让该函数也执行ajax请求。
另外,我可以问一下,既然您似乎已经在使用这个库,为什么不使用jQuery for 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:<p id="content"><?php echo $company_desc;?></p>
Submit按钮只是弹出名为"dialog"的div。看看负责更新变量$company_desc的函数。
我猜您的if(!empty($video_details))语句不允许您更新company_desc变量。改变你的逻辑。
在Ajax中,您必须更新对话框div,但在您的代码中,您更新了公司div,并显示了对话框div。
相关文章:
- 仅当javascript的新内容出现时,才每3秒更新一次javascript
- 如何在Ajax加载新内容时停止JavaScript执行
- 点击后,永久更改内容;悬停时,简要显示新内容
- 导致出现新内容块的标记(谷歌地图)
- CSS转换后用新内容替换空白
- 当用户到达页面右侧时加载新内容
- 基础画布外滚动条和内容显示,具有宽的主要内容
- FancyBox将DIV的内容显示为iFrame类型
- 如何使用jQuery显示新内容
- 使用 Javascript 在页面末尾附加新内容
- CKEDITOR的内容显示不正确
- jQuery弹出显示旧内容,而不是新内容
- JSON加载新内容后访问元素
- 当内容显示在FireFox的iFrame中时,jQuery高度问题
- 加载新内容时调整iframe的高度
- 如何将二维javaScript数组的内容显示到HTML表中
- JqueryUI(手风琴)效果在替换为新内容后无法加载
- 删除现有内容并附加新内容
- 如何隐藏内容(如文本,单选按钮和提交按钮)单击提交后弹出窗口并在同一弹出窗口中显示新内容
- 预装内容;如果连接正常,则不需要访问Internet即可显示onclick+mysql提交的新内容