Я думаю, что для 2-й части такой подход выглядит следующим образом:
jQuery("document").ready(function () {
jQuery('.datepicker').dateRangePicker({
autoClose: true,
singleDate : true,
showShortcuts: false,
singleMonth: true,
startOfWeek: 'monday',
separator : ' ~ ',
format: 'DD.MM.YYYY HH:mm',
time: {
enabled: true
}
},function(start, end, label) {
console.log(start.format('YYYY-MM-DD') + ' TO: ' + end.format('YYYY-MM-DD'));
}
);
});
Внутри этой функции вы могли бы затем сделать AJAX-вызов к БД, но, как я уже говорил ранее, вам понадобится некоторый идентификатор для элемента, так чтовы можете передать его обратно на уровень обслуживания, чтобы убедиться, что вы знаете, какую сущность они обновляют ....
Я не уверен, какой инструмент выбора диапазона дат вы используете, но если тот, который я думаю, то достаточнопримеры @ http://www.daterangepicker.com/#options
Добавить новую функцию, например:
function updateDBWithVals(urlToServer,startDateFromFrontEnd,endDateFromFrontEnd,rowID) {
return $.ajax({
url: urlToServer,
data: {startDate : startDateFromFrontEnd, endDate: endDateFromFrontEnd, entityID: rowID},
type: "POST",
success: function(response) {
console.log(response);
},
error: function(error) {
console.log(error);
}
});
}
Теперь в функции обратного вызова просто вызовите ее, т.е.
function(start, end, label) {
console.log(start.format('YYYY-MM-DD') + ' TO: ' + end.format('YYYY-MM-DD'));
updateDBWithVals("urlToYourServerLogic",start.format('YYYY-MM-DD'),end.format('YYYY-MM-DD'),"theIDOfTheRow");
}