在测试页面中,我可以使用datepicker生成可点击的日历,该日历将用户带到另一个页面并传递为数据库搜索选择的日期。但是,当我把它放在页面的外壳中时,它会用到,用于在侧栏中显示在线视频的旧调用会干扰日历。我查看了这个问题并添加了以下内容:
加载不同版本的jQuery:
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js" type="text/javascript"></script>
<script type="text/javascript" src="http://code.jquery.com/ui/1.10.4/jquery-ui.js"></script>
<script>var $j = jQuery.noConflict(true);</script>
<script>
$(document).ready(function(){
console.log($().jquery); // This prints v1.4.2
console.log($j().jquery); // This prints v1.10.4
});
</script>
</script>
<script>
$j(function() {
var pickerOpts ={
dayNamesShort: true
};
$j( "#eventscalendar" ).datepicker({
dayNamesShort: true,
firstDay: 1, // Start with Monday
altField: "#calendarForm",
altFormat: "yy-mm-dd",
dateFormat: "yy-mm-dd",
onSelect: function(dateText) {
$j(this).change();
}
});
});
$j(this).change(function() {
//alert("index.php?date=" + calendarForm.value);
window.location.href = "listings_NEW.php?event_date=" + calendarForm.value + '&x=' + Math.random();
});
</script>
然而,onclick功能不再有效。我在datepicker中使用了隐藏的提交。
任何帮助表示赞赏!
答案 0 :(得分:0)
在第一个之后立即尝试noConflict
。
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js" type="text/javascript"></script>
<script>var $j = jQuery.noConflict(true);</script>
<script type="text/javascript" src="http://code.jquery.com/ui/1.10.4/jquery-ui.js"></script>
您说However, the onclick function no longer works
但您的代码中没有onclick
函数。
你定义了这个$j(this).change(function() {
似乎你的目标是datepicker,但它不能那样工作。
试试这个
$j(function() {
var pickerOpts ={
dayNamesShort: true
};
$j( "#eventscalendar" ).datepicker({
dayNamesShort: true,
firstDay: 1, // Start with Monday
altField: "#calendarForm",
altFormat: "yy-mm-dd",
dateFormat: "yy-mm-dd",
onSelect: function(dateText) {
window.location.href = "listings_NEW.php?event_date=" + dateText + '&x=' + Math.random();
}
});
});