输入错误:' undefined'不是一个功能

时间:2014-05-07 20:43:01

标签: javascript jquery html

我正在尝试使用HTML表单创建日期选择器。在我的HTML标题中,我有

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>

我的脚本是:

<script type="text/javascript">

            jQuery('#from').datepicker({
                dateFormat: 'yyyy-mm-dd'
            });
            jQuery('#to').datepicker({
                dateFormat: 'yyyy-mm-dd'
            });
</script>

我的表格是:

<form action="rural_report.php" method="post">
            Date From: <input type='text' id='from' name='from'/><br/>
            Date To: <input type='text' id='to' name='to'/><br/>
            <input type='submit' value='Get Rural Call Report'/>
</form>

我已经尝试将脚本包装在document.ready函数中,如下所示:

jQuery(document).ready(function(){
            jQuery('#from').datepicker({
                dateFormat: 'yyyy-mm-dd'
            });
            jQuery('#to').datepicker({
                dateFormat: 'yyyy-mm-dd'
            });
});

我也尝试使用“$”而不是“jQuery”。我已经尝试将带有和不带document.ready位的HTML头中的脚本块放在带有document.ready位的表单之前的主体中,并且在带有和不带document.ready位的主体的最末端。

我正在使用Safari。我得到的错误是

TypeError: 'undefined' is not a function (evaluating 'jQuery('#from').datepicker({
                dateFormat: 'yyyy-mm-dd'
            })')

当我在调试工具的底部输入$或jQuery这个词时,我得到了声明

function (a, b) {return new n.fn.init(a,b);}

当我点击文本框时,它周围会出现蓝色光晕,但日历不会显示。

感谢您的帮助。

1 个答案:

答案 0 :(得分:3)

你也必须添加jQuery UI,核心jQuery文件中没有datepicker

<link rel="stylesheet" href="//ajax.googleapis.com/ajax/libs/jqueryui/1.10.4/themes/smoothness/jquery-ui.css" />

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<script src="//ajax.googleapis.com/ajax/libs/jqueryui/1.10.4/jquery-ui.min.js"></script>

<script type="text/javascript">
    jQuery(function($) {
        $('#from').datepicker({
            dateFormat: 'yyyy-mm-dd'
        });
        $('#to').datepicker({
            dateFormat: 'yyyy-mm-dd'
        });
    });
</script>