我有一点时间围绕JQuery语法(可能是因为我的javascript开始时并不那么坚固)。这是我的问题。我在两个输入框上使用了datepicker(#ev_start
和#ev_end
)#ev_end
必须在#ev_start
后出现。
HTML
Event Start <input type='text' name='ev_start' id='ev_start'/>
Event End <input type='text' name='ev_end' id='ev_start'/>
有效的JQuery
$(document).ready(function(){
//DATE/TIME INFO
$.datepicker.setDefaults({ dateFormat: 'yy-mm-dd', firstDay: 1 });
$(function() {
$("#ev_start").datepicker({showOn: 'button',
buttonImage: 'images/jquery_ui/calendar.gif',
buttonImageOnly: true
});
});
$(function() {//display Calendar
$("#ev_end").datepicker({showOn: 'button',
buttonImage: 'images/jquery_ui/calendar.gif',
buttonImageOnly: true
});
});
应该在ev_end的datepicker上设置注释的JQuery,但不是:
$("#ev_start").live('blur',
function(){
$('#ev_end').datepicker('option', 'minDate', $('#ev_start').datepicker( 'getDate' ))
});//inside the $(document).ready(function())
我希望有人可以解释这两个为什么以上不起作用,哪些会起作用以及为什么会这样做。
谢谢!
答案 0 :(得分:2)
答案是在初始函数中修改#ev_end的日期选择器:
$(function() {//display Calendar
$("#ev_end").datepicker({showOn: 'both',
buttonImage: 'images/jquery_ui/calendar.gif',
buttonImageOnly: true,
beforeShow: function() {
var d=$("#ev_start").datepicker('getDate');
if(d) return {minDate: d}
}
});
});
答案 1 :(得分:0)
你不能用一些jQuery内置方法做到这一点。这是一个可能的解决方案,让你自己的方法来检查。