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');
,但没有结果。
解决方案是什么?
答案 0 :(得分:0)
要从ajax调用的页面运行javascript,您需要将其应用到当前文档。
当您进行AXAJ呼叫时,opener
将无效,仅适用于已打开的窗口。
$.post("replace.php", {}, function(response){
$('body').append(response);
});
JS会在您追加它时执行,或者生成eval()
;