jquery日期选择器分为多个字段

hol*_*den 6 jquery jquery-ui ruby-on-rails datepicker jquery-ui-datepicker

我有通常的Jquery datepicker正常工作.但我想将它提供给一组选择框而不是一个文本字段.我已成功将其输入到具有特定格式的一个选择字段中,但我不确定如何将所有三个字段输入到具有不同格式的不同字段中.

$(document).ready(function(){
  $("#search_startdate").datepicker({showOn: 'button', 
                                     buttonImage: '/images/cal/calendar.gif', 
                                     buttonImageOnly: true, 
                                     minDate: 0, 
                                     maxDate: '+6M +10D', 
                                     showAnim: 'fadeIn',
                                     altField: '#startdate_month', 
                                     altFormat: 'MM',
                                     altField: '#startdate_day',
                                     altFormat: 'dd'});
    //$("#datepicker").datepicker({showOn: 'button', buttonImage: 'images/calendar.gif', buttonImageOnly: true});

});
Run Code Online (Sandbox Code Playgroud)

这不起作用,它适用于最后一个字段,但忽略第一个字段.如果我删除第二组altField和altFormat行,第一组就可以了.

我也试过把它们放在一个系列中,

altField: '#startdate_month', '#start_day', altFormat: 'MM', 'dd'
Run Code Online (Sandbox Code Playgroud)

问题与此处相同:

http://www.experts-exchange.com/Programming/Languages/Scripting/JavaScript/Jquery/Q_24767646.html

有任何想法吗?

谢谢,

tva*_*son 8

我建议使用您的设置使用单个备用字段来获取第一个选择,然后使用onClose处理程序来解析日期并填充其他选择.

$(document).ready(function(){
  $("#search_startdate").datepicker({showOn: 'button', 
                                     buttonImage: '/images/cal/calendar.gif', 
                                     buttonImageOnly: true, 
                                     minDate: 0, 
                                     maxDate: '+6M +10D', 
                                     showAnim: 'fadeIn',
                                     altField: '#startdate_month', 
                                     altFormat: 'MM',
                                     onClose: function(dateText,picker) {
                                                 $('#startdate_day').val( dateText.split(/\//)[1] );
                                              }
                                    });
});
Run Code Online (Sandbox Code Playgroud)