选择日期后打开第二个日期选择器

Opening second datepicker after selecting date

本文关键字:日期 第二个 选择器 选择      更新时间:2023-09-26

我有两个日期选择器输入,我试图在第一个选择日期后自动打开第二个。到目前为止,日期框打开,然后立即关闭。我可以在没有日期框关闭的情况下在knockout.js视图模型之外做得很好,但问题是我希望第二个日期框只有在第一个具有有效日期时才打开。

这在我的视图模型之外工作得很好,正如我上面提到的,但是它不能解释开始日期的任何错误。

$("#start_date_input").datepicker('option',"onClose", function() { 
    $( "#start_date_input" ).datepicker( "show" ); 
});

我想在这里触发第二个日期选择器

self.startDate.subscribe(function(){
    var startDateErrors = ko.validation.group(self.startDateValidation);
    var endDateErrors = ko.validation.group(self.endDateValidation);
    if(startDateErrors().length == 0 && endDateErrors().length == 0){
        populateList();
    }
    else if(startDateErrors().length == 0){ //if a valid start date is selected, show the end date
        $("#end_date_input").datepicker("show");
    }
});

只要我选择一个开始日期,结束日期选择器显示并立即消失。光标仍在结束日期输入框中并闪烁。你知道是什么导致它关闭的吗?

我试着添加$("end_date_input").datepicker({autoclose: false});,但没有做任何事情。

不要绕过视图模型直接摆弄DOM。您需要为日期选择器定制绑定处理程序。这里有一个似乎很受欢迎。这本身可能不会解决你的问题,但它会让你处于一个更好的位置来控制发生的事情。

我怀疑(但不知道)在相关的输入字段上绑定hasFocus将正确显示日期选择器