-1

我已经建立了 2 个页面,其中 1 个页面是有一个链接的页面,该链接打开一个对话框并在该对话框中加载另一个页面,一旦对话框打开并加载另一个页面,这个页面就有一个日历,但是当我点击日历时它给出以下错误:无法读取未定义的属性“内联”

我无法解释出了什么问题,就好像我运行日期选择器所在的文件一样,它运行日历,但是一旦我通过打开对话框从第一页执行,它就会出错。

下面是page1和page2的来源:

<!--PAGE1.PHP-->

<link rel="stylesheet" href="http://code.jquery.com/ui/1.9.0/themes/base/jquery-ui.css"  />
<script src="http://code.jquery.com/jquery-1.8.2.js"></script>
<script src="http://code.jquery.com/ui/1.9.0/jquery-ui.js"></script>
<script>
function loadurl() {
$(function() {
    $("#dialog").load('page2.php').dialog({modal:true}); 
});
}
</script>
</head>
<body>

<a href="#" onClick="return val()">teste</a>
<div id="dialog" title="Dialog"></div>

</body>
</html>


<!-- PAGE2.PHP -->


<link rel="stylesheet" href="http://code.jquery.com/ui/1.9.0/themes/base/jquery-ui.css"  />
<script src="http://code.jquery.com/jquery-1.8.2.js"></script>
<script src="http://code.jquery.com/ui/1.9.0/jquery-ui.js"></script>

<script>
$(function() {
    $( "#datepicker" ).datepicker();
});
</script>
</head>
<body>
<p>Date: <input type="text" id="datepicker" /></p>
</body>
</html>
4

2 回答 2

0

代码有一些东西。首先,您需要确定什么PAGE2.php是;它是页面的组件还是独立页面。.load()将下载的代码直接插入到 DOM 中。因此,您可以将 PAGE2.php 剥离为:

<script>
$(function() {
    $( "#datepicker" ).datepicker();
});
</script>
<p>Date: <input type="text" id="datepicker" /></p>

.load()或者,您可以通过提供选择器来加载下载页面的一部分:例如$('#dialog').load('page2.php #datepicker')

另一件事是将 PAGE2.php 加载到 DOM 中的语句,即$("#dialog").load('page2.php').dialog({modal:true}). 您要做的是先加载页面(可能在后台),然后再使用.dialog(). 所以,它应该是这样的:

$("#dialog").load('page2.php', function() { $(this).dialog({modal:true})​ })​
于 2012-10-17T23:29:20.500 回答
0

$.load 不在加载页面上运行脚本

该脚本不会在新页面上运行,因为原始页面上的 ready 函数不会触发它。任何用于第二页的脚本都需要在第一页的 $.load 函数的成功侦听器中运行

于 2012-10-17T23:06:48.567 回答