简体   繁体   English

jQuery .on('click',function())无法与bootstrap-datetimepicker一起使用

[英]jQuery .on('click', function()) not working with bootstrap-datetimepicker

I'm kinda new to using jQuery and I'm using Bootstrap DateTimePicker to display a calendar and I want to retrieve the currently selected date but for some reason the .on('click') function doesn't seem to work when I click on the days. 我对使用jQuery有点陌生,并且正在使用Bootstrap DateTimePicker显示日历,我想检索当前选择的日期,但是由于某些原因,当我单击时,.on('click')函数似乎不起作用在日子里。

This is what the html code looks like: 这是html代码的样子:

<div style="overflow:hidden;">
    <div class="form-group">
        <div class="row">
            <div class="col-md-8">
                <div id="datetimepicker"></div>
            </div>
        </div>
    </div>
</div>

And what I would like to do would be something like: 我想做的是这样的:

$(document).ready(function() {
    $('#datetimepicker').on('click', '.day', function() {
        // Get the selected date.
        var date = $(this).val();
    });
});

The bootstrap html for a single day is like the following: 一天的bootstrap html如下所示:

<td data-action="selectDay" data-day="10/26/2016" class="day active">26</td>
<td data-action="selectDay" data-day="10/27/2016" class="day today">27</td>
<td data-action="selectDay" data-day="10/28/2016" class="day">28</td>

So essentially what I'm looking for is the contents of data-day of the active day. 因此,本质上,我正在寻找的是活动日的数据日的内容。

JSFiddle 的jsfiddle

I used the following code and it's working for multiple clicks: 我使用了以下代码,并且可以多次点击:

$(document).ready(function() {
    $('#datetimepicker').datetimepicker({
        inline: true,
        format: 'DD/MM/YYYY'
    });

    $('div tbody').on('click', 'tr > .day',function(){
        alert($(this).data().day)
    })
});

jsfiddle 的jsfiddle

To access the data stored in data attribute in the html elements, you can search and read more about it on jQuery .data() 要访问html元素中data属性中存储的data ,您可以在jQuery .data()上搜索和了解更多信息。

JS: JS:

 $(document).ready(function() {
    $('#datetimepicker').datetimepicker({
        inline: true,
        format: 'DD/MM/YYYY'
    });

    $('div tbody').on('click','td', function(e) {
     alert($(this).attr('data-day'));
    });
});

Try below fiddle: 试试下面的小提琴:

https://jsfiddle.net/80kLcj1q/8/ https://jsfiddle.net/80kLcj1q/8/

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM