首页 > 解决方案 > Xeditable 日期输入配置以接受 1970 年之前的日期

问题描述

使用 x-editable JS 插件,我在表单中添加了一个新的日期类型输入(组合日期(日期)元素),一切看起来都很好,但输入接受从 1970 年 1 月 1 日开始的唯一日期。我需要更改此配置,因为我的客户的生日可能早于 1970 年。

不幸的是,在 x-editable 文档(链接)中没有任何与日期范围相关的配置。

在我的 HTML 代码下方(带有 PHP 数据):

<a href="#" id="dipendente-datanascita" 
    data-type="combodate" 
    data-value="<?php echo $dipendente["datanascita"]; ?>" 
    data-format="YYYY-MM-DD" 
    data-viewformat="DD/MM/YYYY" 
    data-template="DD/MM/YYYY" 
    data-pk="1" 
    data-title="Select Date of birth" 
    data-url="api/update-dipendente.php?id=<?php echo $id_dipendente; ?>"
    class="editable editable-click" style="">
    <?php echo $utility->formatDate($dipendente["datanascita"]); ?>
</a>

和JS部分:

$('#dipendente-datanascita').editable({
    prepend: "Non selezionato",
    mode: 'inline',
    inputclass: 'form-control-sm'
});

有人能帮忙吗?先感谢您。

标签: javascriptx-editable

解决方案


1970 年是一个可以编辑更改作为库一部分的文件 bootstrap-editable.js 的配置(如果应用程序使用它,请记住还要生成缩小的 js)。这里是一个配置示例:

$.fn.combodate.defaults = {
     //in this format value stored in original input
    format: 'DD-MM-YYYY HH:mm',      
    //in this format items in dropdowns are displayed
    template: 'D / MMM / YYYY   H : mm',
    //initial value, can be `new Date()`    
    value: null,                       
    minYear: 1970,
    maxYear: 2015,
    yearDescending: true,
    minuteStep: 5,
    secondStep: 1,
    firstItem: 'empty', //'name', 'empty', 'none'
    errorClass: null,
    roundTime: true, // whether to round minutes and seconds if step > 1
    smartDays: false // whether days in combo depend on selected month: 31, 30, 28
};

更改 minYear 值,它将起作用!


推荐阅读