我有一个使用load
和preventDefault
的jquery函数。以下是我的main.php
页面
<script>
$(document).ready(function() {
function ajaxLoad(e) {
e.preventDefault();
var page = $(this).attr('href');
$('#content').load(page, function(){
$("#datepicker").datepicker();
});
$(document).on("click", "a#staff_insert, ajaxLoad);
});
</script>
在我加载的页面staff-add.php
上,我有一个使用日期选择器输入日期的表单,
<input type="text" name="calendar" id="datepicker">
我可以知道如何使datepicker功能可用,因为当我点击input
字段时,日历将不会出现。我是否必须在staff-add.php
上插入datepicker函数,以及
$(document).ready(function(){
$("#datepicker").datepicker();
});
非常感谢帮助。
使用新代码进行更新。
只是为了告知我设法完成它但现在问题是,当我点击不同的链接时,单击返回到具有该链接的页面 datepicker,不会出现datepicker。它只会出现在我身上 没有去其他链接。我可以知道我做错了什么吗?
<link rel="stylesheet" href="//code.jquery.com/ui/1.11.4/themes/smoothness/jquery-ui.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
<script src="//code.jquery.com/ui/1.11.4/jquery-ui.js"></script>
<script>
$(document).ready(function() {
function ajaxLoad(e) {
e.preventDefault();
if($(this).attr('id') == 'staff_insert'){
var page = $(this).attr('href');
$('#content').load(page+ ' #calendar', function(){
$("#datepicker").datepicker();
});
} else {
var page = $(this).attr('href');
$('#content').load(page);
}
}
$(document).on("click", "a#staff_info, a#staff_insert", ajaxLoad);
});
</script>
如果我在浏览器上看到,则错误为Uncaught TypeError: $(...).datepicker is not a function
更新 - 已解决
我可以通过在代码上插入var j = jQuery.noConflict();
来解决它。有人可以解释我为什么需要它?还在寻找原因。感谢
答案 0 :(得分:0)
由于您在本地开发,我认为您正在使用文件协议(如file://)。
目前,您正在引用您的脚本/ css包含无协议:
<link rel="stylesheet" href="//code.jquery.com/ui/1.11.4/themes/smoothness/jquery-ui.css">
<script src="//code.jquery.com/ui/1.11.4/jquery-ui.js"></script>
在这种情况下使用相对URI,基本上它允许浏览器根据您的页面使用的协议确定是使用http://还是https://。
您正在使用文件协议,因此页面尝试加载:
<link rel="stylesheet" href="file://code.jquery.com/ui/1.11.4/themes/smoothness/jquery-ui.css">
<script src="file://code.jquery.com/ui/1.11.4/jquery-ui.js"></script>
它不起作用,所以设置协议如:
<link rel="stylesheet" href="https://code.jquery.com/ui/1.11.4/themes/smoothness/jquery-ui.css">
<script src="https://code.jquery.com/ui/1.11.4/jquery-ui.js"></script>