【问题标题】:Datepicker click event getdate日期选择器点击事件获取日期
【发布时间】:2015-03-09 09:27:59
【问题描述】:

我正在使用bootstrap datepicker,我想触发点击事件以重定向到点击日期的事件页面,我阅读了事件日期选择器的文档,但没有点击事件,但它使用了changeDate当我单击任何日期时,我得到了该日期并且一切正常,但是当我单击任何活动日期时,我得到随机活动日期或重复最后一个日期..即使该日期处于活动状态,我怎么能获得点击日期? fiddle

更新Fiddle

【问题讨论】:

  • 它工作正常jsfiddle.net/fayekramzy/2L1ovhbm cehck 这个小提琴。它正在获得选定的日期
  • 尝试点击多个日期以激活它们(蓝色),然后再次点击它们......你会看到问题@CodingCracker
  • 你需要指向你最后点击的页面吗?
  • 没错,它只是一键点击,但我更改代码只是为了测试,但是在点击事件时,页面将重定向到带有点击事件的事件页面。 @CodingCracker
  • 所以你点击多个日期?你想得到你点击的最后日期吗?

标签: javascript jquery twitter-bootstrap datepicker


【解决方案1】:

试试这个,

$('div').datepicker({
    multidate: false,


});

演示:http://jsfiddle.net/UI_Designer/2L1ovhbm/2/

【讨论】:

  • 运行示例后,以二月为例,点击 5 ,看看会发生什么!
【解决方案2】:

只需使用这个可能就是你想要的

$('div').on('changeDate', function(e){
  // extra 
  sdate = e.date.getDate() +'/'+ (e.date.getMonth()+1) + '/' + e.date.getFullYear();
  var getdate = $('p').html(sdate);  
  window.location.href = 'events.html?date='+getdate;
});

【讨论】:

  • 问题不在重定向中,问题出在错误的日期,运行后查看更新的小提琴 (jsfiddle.net/fayekramzy/2L1ovhbm/3) 直接点击 10 March ,它会输入 19 March !
  • 我无法解决您的问题
  • 运行最后一个小提琴并单击 10/3/2015 日期,您将看到问题。
  • 还没有,可能是'changeDate'事件不是获取点击事件的目标函数,它可能只针对非活动日期触发。
【解决方案3】:
$('div').datepicker({
    multidate: false,
    todayHighlight: true,
    todayBtn: true
});

上面的代码工作正常。只打印选定的日期。

【讨论】:

    【解决方案4】:

    好的,我尝试了很多很多但没有理想的解决方案,但我尝试在JSfiddle中添加这样的点击触发器

    var months = ['January','February','March','April','May','June','July','August','September','October','November','December'];
    $('.datepicker-days').on('click', 'td.day', function (e) {
        e.preventDefault();
        var dat = $(this).text();
        var monthyear = $(this).closest('table').find('.datepicker-switch').text().split(" ");
        var monthalpha = monthyear[0];
        var monthnum;
        console.log(months.indexOf(monthalpha));
        var year = monthyear[1];
        if($(this).hasClass('old')){
            monthnum = (months.indexOf(monthalpha));
        } else if($(this).hasClass('new')){
            monthnum = (months.indexOf(monthalpha)+2);
        } else {
            monthnum = (months.indexOf(monthalpha)+1);
        }
        if(monthnum > 12){
            monthnum = 1;
        } else if (monthnum < 1){
            monthnum = 12;
        }
        $('p').html(dat+"/"+monthnum+"/"+year);
    });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-01-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多