2016-10-27 3 views
1

Я немного новичок в использовании jQuery, и я использую Bootstrap DateTimePicker для отображения календаря, и я хочу получить текущую выбранную дату, но по какой-то причине функция .on ('click') не работает, когда я нажимаю на дни.jQuery .on ('click', function()) не работает с bootstrap-datetimepicker

Это то, что 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> 

И то, что я хотел бы сделать, что-то вроде:

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

Бутстраповское 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> 

Так что, по сути, я ищу содержимое данных дня a день.

JSFiddle

+0

@Hsate: ниже наш ответ полезен пожалуйста принимает ответ;) – CodeMan

ответ

2

Я использовал следующий код и он работает на нескольких кликов:

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

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

jsfiddle

Чтобы получить доступ к данным, хранящимся в data атрибута в HTML-элементов, вы можете найти и прочитать об этом на JQuery .data()

+1

Это работает отлично! Благодаря! – HaSte

+0

рад, что я помог :) –

+0

Единственное, что сейчас, то Bootstrap не обновляет текущий выбранный день, который будет отображаться как синий ...:/ – HaSte

0

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 ниже скрипкой:

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

+0

@Hsate: Если ответ полезен, то pls принимают ответ :) – CodeMan

+0

Это работает только один раз, и это дает мне только день, а не год и месяц. В бутстрапе день отмечается как « 26», и я хотел бы получить содержимое данных - день, который «10/26/2016», и я хотел бы иметь возможность делать это снова и снова, не один раз. – HaSte

+0

Кроме того, он не работает, если я нажимаю на месяц, выберите другой месяц (или тот же месяц снова), а затем нажмите на день. – HaSte

Смежные вопросы