设置分钟日期时,jQuery UI内联日期选择器按钮消失

问题描述:

从第一个日期选择器中选择日期会导致“关闭”按钮从第二个日期选择器中消失。这是问题的一个小提琴:设置分钟日期时,jQuery UI内联日期选择器按钮消失

http://jsfiddle.net/ssad0s2s/

在DATEPICKER1的ONSELECT方法设置的minDate DATEPICKER2的原因造成的问题。请帮忙!

HTML

<div id="datepicker1"></div> 
<div id="datepicker2"></div> 

JS

$('#datepicker1').datepicker({ 
     firstDay: 1, 
     dateFormat: 'yy-mm-dd', 
     showButtonPanel: true, 
     currentText:"Close", 
     onSelect: function(selectedDate) { 
      $("#datepicker2").datepicker("option", "minDate", selectedDate);  
     } 
}); 

$('#datepicker2').datepicker({ 
     firstDay: 1, 
     dateFormat: 'yy-mm-dd', 
     showButtonPanel: true, 
     currentText:"Close", 
}); 
+0

如果的minDate比当前的日期时,则“关闭”按钮将消失 – 2014-11-07 22:20:24

有什么用例的关闭按钮,如果你是显示默认的datepickers?使用输入而不是divs有一个完成按钮来关闭datepicker完成后,这是有道理的。但是,当日期选择器无法关闭时,如果有一个关闭按钮,就好像问题中缺少一些东西。

<input id="datepicker1"/> 
<input id="datepicker2"/> 

Fiddle

UPDATE

跨设备兼容性经由WebShim polyfill更好的解决方案:

包括这些脚本:

//cdnjs.cloudflare.com/ajax/libs/webshim/1.14.2/minified/extras/modernizr-custom.js 
//cdnjs.cloudflare.com/ajax/libs/webshim/1.14.2/minified/polyfiller.js 

添加为好:

window.webshims.setOptions("forms-ext", { 
     replaceUI: true, 
     "date": { 
      openOnMouseFocus: true, 
      calculateWidth: false 
     }, 
     "datetime-local": { 
      openOnMouseFocus: true, 
      calculateWidth: false 
     }, 
     "number": { 
      "classes": "hide-inputbtns" 
     } 
    }); 

    window.webshims.polyfill('forms forms-ext'); 

FIDDLE

+0

这是一个很好的点。因为我认为在响应式网站上放置弹出日期选择器会更棘手,所以我沿着内联日期选择器路线走了。我没有默认显示日期选择器,我只是写了上面的代码来突出显示问题。 – 2014-11-06 22:10:49

+0

你可以在不使用datepicker的情况下始终使用HTML5''并引入一些[WebShim](http://afarkas.github.io/webshim/demos/#Forms-forms-ext) ;) – Tomanow 2014-11-06 22:26:12

+0

查看更新的帖子了解更多 – Tomanow 2014-11-06 22:33:49