gpt4 book ai didi

javascript - jQuery 弹出窗口显示旧内容而不是新内容

转载 作者:行者123 更新时间:2023-11-30 05:42:04 26 4
gpt4 key购买 nike

我遇到了 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 Controller ,它呈现内容并加载到 company 中分..加载company 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>

关于javascript - jQuery 弹出窗口显示旧内容而不是新内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20262453/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com