Javascript 显示旧内容而不是新内容的jQuery弹出窗口

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

我对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>
在这里,我将我的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" );
        }
        }
    });
    });
}