JavaScript代码未执行

时间:2012-12-21 19:55:29

标签: jquery jquery-ui datepicker

我有一些未执行的jQuery代码。代码块看起来像

jQuery(document).ready(function() {
$('#Start').datepicker();
$('#End').datepicker();
$('#End').val('date');
$('#Start').val('start');
alert('hello');
}); 

但它没有在StartEnd文本框中应用datepicker。请注意,在此脚本之前添加了jQuery和jQuery.ui文件。在此代码块中,即使最后一行(alert)也未执行。

我可以在Firefox控制台中看到错误,显示uncaught exception: Invalid dimensions for plot, width = null, height = null,但它没有告诉我错误的位置。

可能是什么问题?为什么这段代码没有运行?如何调试?

编辑1: 我已将代码更改为以下

jQuery(document).ready(function() {
        //$('#Start').datepicker();
        //$('#End').datepicker();
        //$('#End').val('date');
        //$('#Start').val('start');
        alert('hello inside');
    });
    alert("hello outside");

现在只有两个警报(其余行已注释)就绪函数执行之外的警报但内部的警报没有执行。

2 个答案:

答案 0 :(得分:-1)

使用datepicker,我不确定你可以在初始化datepicker后设置字符串值。

尝试删除这两行:

$('#End').val('date');
$('#Start').val('start');

答案 1 :(得分:-1)

我从未使用过Datepicker,但我认为如果你对这些行进行评论它会起作用:

$('#End').val('date');
$('#Start').val('start');

大多数jquery都是异步的,即。上述两行将在用户选择日期之前执行(因此缺少值)。所以你需要包含一个这样的回调函数(快速谷歌)

jQuery datepicker, onSelect won't work

    $('#End').datepicker( {
        onSelect: function(date) {
            alert(date);        }
    });

编辑:

这适用于jsfiddle(http://jsfiddle.net/q6UFc/):

HTML:

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.0/jquery.min.js"></script>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.12/jquery-ui.min.js"></script>
<input type="text" id="end" name="end" />

使用Javascript:

$(document).ready(function () {          
$('#end').datepicker( {
            onSelect: function(date) {
                alert(date);        }
        });

})