jQuery遗留调用影响新的jQuery datepicker调用

时间:2014-02-04 08:23:17

标签: javascript jquery jquery-ui datepicker

在测试页面中,我可以使用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中使用了隐藏的提交。

任何帮助表示赞赏!

1 个答案:

答案 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();
          }
    });
});