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

时间:2012-01-22 11:33:35

标签: javascript jquery

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');,但没有结果。

解决方案是什么?

1 个答案:

答案 0 :(得分:0)

要从ajax调用的页面运行javascript,您需要将其应用到当前文档。

当您进行AXAJ呼叫时,opener将无效,仅适用于已打开的窗口。

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

JS会在您追加它时执行,或者生成eval();