我有一些未执行的jQuery代码。代码块看起来像
jQuery(document).ready(function() {
$('#Start').datepicker();
$('#End').datepicker();
$('#End').val('date');
$('#Start').val('start');
alert('hello');
});
但它没有在Start
和End
文本框中应用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");
现在只有两个警报(其余行已注释)就绪函数执行之外的警报但内部的警报没有执行。
答案 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); }
});
})