2016-04-30 81 views
1

我已使用jQuery 1.10datePickerjQuery 1.9TimePicker(来自fgelinas.com)。多个jQuery版本在一个页面

我用noConflict();但没有用。这是我的代码。

<link rel="stylesheet" href="~/Content/Admin/time-picker/include/ui-1.10.0/ui-lightness/jquery-ui-1.10.0.custom.min.css" type="text/css" /> 
<link rel="stylesheet" href="~/Content/Admin/time-picker/jquery.ui.timepicker.css?v=0.3.3" type="text/css" /> 

<script src="~/Content/js/jquery.js"></script> 
<script src="~/Scripts/jquery-ui-1.11.4.min.js"></script> 
<script type="text/javascript" src="~/Content/Admin/time-picker/include/jquery-1.9.0.min.js"></script> 
<script type="text/javascript" src="~/Content/Admin/time-picker/include/ui-1.10.0/jquery.ui.core.min.js"></script> 
<script type="text/javascript" src="~/Content/Admin/time-picker/include/ui-1.10.0/jquery.ui.widget.min.js"></script> 
<script type="text/javascript" src="~/Content/Admin/time-picker/include/ui-1.10.0/jquery.ui.tabs.min.js"></script> 
<script type="text/javascript" src="~/Content/Admin/time-picker/include/ui-1.10.0/jquery.ui.position.min.js"></script> 
<script type="text/javascript" src="~/Content/Admin/time-picker/jquery.ui.timepicker.js?v=0.3.3"></script> 

<script> 
    $(function() { 
     $("#datepicker").datepicker(); 
    }); 
    $.noConflict(); 
    $('#datepicker').datepicker({ 
     changeMonth: true, 
     changeYear: true, 
     dateFormat: "dd-mm-yy", 
     constrainInput: true, 
     yearRange: "1999:2025", 
     onSelect: function() { 
      alert($('#datepicker').val()); 
     } 
    }); 
</script> 

<div> 
    <label for="timepicker.[1]">Default time picker :</label> 
    <input type="text" style="width: 70px;" id="timepicker.[1]" value="" /> 
    <script type="text/javascript"> 
     $(document).ready(function() { 
      $('#timepicker\\.\\[1\\]').timepicker({ 
       showAnim: 'blind' 
      }); 
     }); 
    </script> 
</div> 
<div> 
    <input type="text" class="form-control" id="datepicker" /> 
</div> 

当我timePicker试图$.noConflict(),它不会让使用任何控制。但上面的代码只是让我们使用datePicker。当我删除datePicker脚本时,timePicker完美运行。我必须在一个页面中使用它们。帮我解决这个问题。谢谢。

+0

为什么你不能只用一个版本? timepicker/datepicker不存在? – Rahul

回答

2

如果你读了noConflict文档有以前的jQuery的保存到这样一个变量的选项: var j = $.noConflict(); 所以要使用可以使用美元符号首先加载jQuery的版本,但如果你需要最后加载,那么你需要使用j

在您当前的代码中,先加载jquery库1.10,然后调用noConflict,以便美元符号保存1.10 jquery版本。

<script> 
    $(function() { 
     $("#datepicker").datepicker(); 
    }); 
    var lastJQuery = $.noConflict(); 
    $('#datepicker').datepicker({ 
     changeMonth: true, 
     changeYear: true, 
     dateFormat: "dd-mm-yy", 
     constrainInput: true, 
     yearRange: "1999:2025", 
     onSelect: function() { 
      alert($('#datepicker').val()); 
     } 
    }); 
</script> 

<div> 
    <label for="timepicker.[1]">Default time picker :</label> 
    <input type="text" style="width: 70px;" id="timepicker.[1]" value="" /> 
    <script type="text/javascript"> 
     lastJQuery(document).ready(function ($) { 
      $('#timepicker\\.\\[1\\]').timepicker({ 
       showAnim: 'blind' 
      }); 
     }); 
    </script> 
</div> 
+0

这允许'datePicker'而不是'timePicker'。 – DhavalR

+0

它适合我。 你是否改变了这一行:'lastJQuery(document).ready(function($){'注意ready事件处理函数的美元符号参数,这个参数是'j' – FoPi

+0

oops。我错过了'$'.. 。 谢谢哥们。 – DhavalR

0

请尝试移动$(selector).datepicker(options)$(selector).timepicker(options)调用你的页面的底部..另外,我发现$ .noConflict()..这是必要的一些怪异的行为?

更新时间:this might work for you?

相关问题