datepicker字段授权特定字符

时间:2017-10-31 10:58:06

标签: javascript jquery date jquery-ui datepicker

我正在使用jqueryUI及其datePicker工作正常,但在法国,日期更可能是用斜线(DD / MM / YYYY)写的,而不是破折号(DD-MM-YYYY),但是datePicker不允许用户输入斜杠。

我希望datePicker字段允许用户输入斜线以及其他授权字符(也就是说两者破折号斜杠但我不知道在哪里改变了。格式已经改为法语格式。

任何提示?

我的功能到目前为止,初始化任何需要日期选择器的字段(这主要是为了将大部分文本翻译成法语):

function initDatePicker(){
    $('*[class*=datepicker]:visible').each(function() {
        $( this ).datepicker({
            altField: "#datepicker",
            closeText: 'Fermer',
            prevText: 'Précédent',
            nextText: 'Suivant',
            firstDay:1,
            currentText: 'Aujourd\'hui',
            monthNames: ['Janvier', 'Février', 'Mars', 'Avril', 'Mai', 'Juin', 'Juillet', 'Août', 'Septembre', 'Octobre', 'Novembre', 'Décembre'],
            monthNamesShort: ['Janv.', 'Févr.', 'Mars', 'Avril', 'Mai', 'Juin', 'Juil.', 'Août', 'Sept.', 'Oct.', 'Nov.', 'Déc.'],
            dayNames: ['Dimanche', 'Lundi', 'Mardi', 'Mercredi', 'Jeudi', 'Vendredi', 'Samedi'],
            dayNamesShort: ['Dim.', 'Lun.', 'Mar.', 'Mer.', 'Jeu.', 'Ven.', 'Sam.'],
            dayNamesMin: ['D', 'L', 'M', 'M', 'J', 'V', 'S'],
            weekHeader: 'Sem.',
            dateFormat: 'dd-mm-yy'
        });
    });
};

1 个答案:

答案 0 :(得分:0)

Jquery ui Datepicker不能同时接受这两种格式。 您可以使用两个输入文本,如:

<input id="datepicker" pattern="\d{1,2}[\/-]\d{1,2}[\/-]\d{4}" type="text" />
<input id="hiddenField" type="text" style="display:none;" value="" />
<script type="text/javascript">
     $('#hiddenField').datepicker({
          [...]
          dateFormat: 'dd/mm/yy',
          onSelect:function(date){
               $('#datepicker').val(date);
          }
     });
     $('#datepicker').on("click", function() {
          $('#hiddenField').datepicker("show");
     });
</script>

这应该有效,如果需要改进,请编辑