【问题标题】:bootstrap datepicker - highlight first selected date引导日期选择器 - 突出显示第一个选定的日期
【发布时间】:2016-03-11 11:12:30
【问题描述】:

我发现了一些小提琴,并进行了更新,主要是将日期选择器显示为组件,无需输入。

http://jsfiddle.net/Luhbzxdn/

javascript代码:

// Date Pickers
var month = ("January February March April May June July August September October November December").split(" ");
var now = new Date();
var nowformatted = now.getDate() + " " + month[now.getMonth()] + " " + now.getFullYear();
var dpOptions = {
    format: 'dd MM yyyy',
    startDate: now,
    setDate: now,
};

var i = 0;

    var datePicker1 = $("#date1").
        val(nowformatted).
        datepicker(dpOptions).
        on('changeDate', function (e) {
            console.log("dp1", i++);
            datePicker2.datepicker('setStartDate', e.date);         
        });

var datePicker2 = $("#date2").
        val(nowformatted).
        datepicker(dpOptions).
        on('changeDate', function (e) {
            datePicker1.datepicker('setEndDate', e.date);
        });

我遇到了麻烦,当我选择第一个日期时,我看到蓝色高亮,所以我可以知道选择了哪一天,但是如果我点击第二个日期选择器,第一个选择的日期不再突出显示。有没有办法保留这些突出显示的元素,以便用户始终可以看到他选择的内容?

【问题讨论】:

    标签: javascript jquery bootstrap-datepicker


    【解决方案1】:

    在代码 HTML 中添加:

    <input type="text" id="first-date" />
    <input type="text" id="last-date" />
    

    并在 javascript 中使用此代码:

    function myDateFormatter (dateObject) {
        var d = new Date(dateObject);
        var day = d.getDate();
        var month = d.getMonth() + 1;
        var year = d.getFullYear();
        if (day < 10) {
            day = "0" + day;
        }
        if (month < 10) {
            month = "0" + month;
        }
        var date = day + "/" + month + "/" + year;
    
        return date;
    };
    
    
    // Date Pickers
    var month = ("January February March April May June July August September October November December").split(" ");
    var now = new Date();
    var nowformatted = now.getDate() + " " + month[now.getMonth()] + " " + now.getFullYear();
    var dpOptions = {
        format: 'dd MM yyyy',
        startDate: now,
        setDate: now,
    };
    
    var i = 0;
    
        var datePicker1 = $("#date1").
            val(nowformatted).
            datepicker(dpOptions).
            on('changeDate', function (e) {
    
      $('#first-date').val(myDateFormatter(e.date));
                console.log("dp1", i++);
                datePicker2.datepicker('setStartDate', e.date);         
            });
    
    var datePicker2 = $("#date2").
            val(nowformatted).
            datepicker(dpOptions).
            on('changeDate', function (e) {
      $('#last-date').val(myDateFormatter(e.date));
               // datePicker1.datepicker('setEndDate', e.date);
            });
    

    【讨论】:

    • 是的,看起来更好,但现在禁用日期的功能已被禁用,我的意思是:现在用户可以选择从 22.04.2016 到 20.04.2016,所以第一个日期大于第二个。
    • 酷。工作正常。谢谢。
    • 我也想知道,我怎样才能获得选定的项目 - 例如,我怎样才能在选定的日子做某事?我必须在点击日添加一些 html 内容。
    • 您没有输入文本来存储选择日期?
    猜你喜欢
    • 1970-01-01
    • 2015-05-01
    • 2021-07-29
    • 2015-08-20
    • 2019-06-21
    • 1970-01-01
    • 1970-01-01
    • 2013-12-01
    • 1970-01-01
    相关资源
    最近更新 更多