您好,我是使用JavaScript的新手,在使用daterangepicker引导程序时遇到问题。我设法实现了我得到的这个演示,但是我被困在从javascript获取开始日期和结束日期的值上。
这是javascript
<script type="text/javascript"> $(document).ready(function() { $('#reportrange').daterangepicker( { startDate: moment().subtract('days', 29), endDate: moment(), minDate: '01/01/2012', maxDate: '12/31/2014', dateLimit: { days: 60 }, showDropdowns: true, showWeekNumbers: true, timePicker: false, timePickerIncrement: 1, timePicker12Hour: true, ranges: { 'Today': [moment(), moment()], 'Yesterday': [moment().subtract('days', 1), moment().subtract('days', 1)], 'Last 7 Days': [moment().subtract('days', 6), moment()], 'Last 30 Days': [moment().subtract('days', 29), moment()], 'This Month': [moment().startOf('month'), moment().endOf('month')], 'Last Month': [moment().subtract('month', 1).startOf('month'), moment().subtract('month', 1).endOf('month')] }, opens: 'left', buttonClasses: ['btn btn-default'], applyClass: 'btn-small btn-primary', cancelClass: 'btn-small', format: 'DD/MM/YYYY', separator: ' to ', locale: { applyLabel: 'Submit', fromLabel: 'From', toLabel: 'To', customRangeLabel: 'Custom Range', daysOfWeek: ['Su', 'Mo', 'Tu', 'We', 'Th', 'Fr','Sa'], monthNames: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'], firstDay: 1 } }, function(start, end) { console.log("Callback has been called!"); $('#reportrange span').html(start.format('D MMMM YYYY') + ' - ' + end.format('D MMMM YYYY')); } ); //Set the initial state of the picker label $('#reportrange span').html(moment().subtract('days', 29).format('D MMMM YYYY') + ' - ' + moment().format('D MMMM YYYY')); }); </script>
这是将要处理onclick方法的按钮
<button type="button" class="btn btn-primary" data-dismiss="modal">Save changes</button>
“开始”和“结束”将包含日期的值。如果我想将这些值用作项目中以后使用编码的输入,例如保存到数据库中,我该如何称呼它们?
给你的按钮一个ID
<button type="button" id="saveBtn" class="btn btn-primary" data-dismiss="modal">Save changes</button>
将startDate和endDate变量添加到脚本中
var startDate; var endDate;
在daterangepicker回调中设置这些变量
startDate = start; endDate = end;
连接$(document).ready功能中该按钮的click事件
$(document).ready
$('#saveBtn').click(function(){ console.log(startDate.format('D MMMM YYYY') + ' - ' + endDate.format('D MMMM YYYY')); });
<script type="text/javascript"> var startDate; var endDate; $(document).ready(function() { $('#reportrange').daterangepicker( { startDate: moment().subtract('days', 29), endDate: moment(), minDate: '01/01/2012', maxDate: '12/31/2014', dateLimit: { days: 60 }, showDropdowns: true, showWeekNumbers: true, timePicker: false, timePickerIncrement: 1, timePicker12Hour: true, ranges: { 'Today': [moment(), moment()], 'Yesterday': [moment().subtract('days', 1), moment().subtract('days', 1)], 'Last 7 Days': [moment().subtract('days', 6), moment()], 'Last 30 Days': [moment().subtract('days', 29), moment()], 'This Month': [moment().startOf('month'), moment().endOf('month')], 'Last Month': [moment().subtract('month', 1).startOf('month'), moment().subtract('month', 1).endOf('month')] }, opens: 'left', buttonClasses: ['btn btn-default'], applyClass: 'btn-small btn-primary', cancelClass: 'btn-small', format: 'DD/MM/YYYY', separator: ' to ', locale: { applyLabel: 'Submit', fromLabel: 'From', toLabel: 'To', customRangeLabel: 'Custom Range', daysOfWeek: ['Su', 'Mo', 'Tu', 'We', 'Th', 'Fr','Sa'], monthNames: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'], firstDay: 1 } }, function(start, end) { console.log("Callback has been called!"); $('#reportrange span').html(start.format('D MMMM YYYY') + ' - ' + end.format('D MMMM YYYY')); startDate = start; endDate = end; } ); //Set the initial state of the picker label $('#reportrange span').html(moment().subtract('days', 29).format('D MMMM YYYY') + ' - ' + moment().format('D MMMM YYYY')); $('#saveBtn').click(function(){ console.log(startDate.format('D MMMM YYYY') + ' - ' + endDate.format('D MMMM YYYY')); }); }); </script>