jquery,更改网页中ajax调用的jqueryui对话框内容

jquery, change jqueryui dialog box content from a ajax call in the webpage

本文关键字:jqueryui 对话框 调用 ajax 网页 jquery      更新时间:2023-09-26

jqueryui用于显示一个对话框,如果在对话框上而不是在平面(正确的措辞?)网页上单击"dialog_insider",则会进行ajax调用。中的文件通过ajax调用html:

<div id="dialog" style="border:1px solid green; width:150px; margin:auto;">
    <div class="dialog_insider">this is the dialog</div>
    <!-- end of class dialog_insider-->    
</div>
<!- end of id  dialog-->

jquery:

<script type="text/javascript">    
    $(document).ready(function(){
        $("#dialog").click(function(){
            my_dialog = $(this).clone();
            my_dialog.dialog();
            $(".dialog_insider", my_dialog).click(function(){
                alert("clicked");
                $.post("replace.php",function(response){
                });
            });
        });
    });
</script>

文件replace.php包含:

<script type="text/javascript">
    $(document).ready(function(){
        alert("hi");
        $("dialog_insider",my_dialog).html('4444444');
    });
</script>

我没有从replace.php页面获得任何功能(即没有警报,没有html更改)

我尝试使用$("opener.dialog_insider",my_dialog).html('4444444');,但没有结果。

解决方案是什么?

要使ajax中的javascript调用页面运行,需要将其附加到当前文档中。

当您进行AXAJ调用时,opener将不起作用,只能在打开窗口的情况下起作用。

$.post("replace.php", {}, function(response){
    $('body').append(response);
});

JS将在您附加它时执行,或者使eval()