#javascript #jscript #bootstrap-datepicker #bootstrap-daterangepicker
Вопрос:
У меня есть загрузочный индикатор даты, который я хотел создать диапазон дат только в одном объекте и запускается нажатием клавиши shift, и когда пользователь нажмет клавишу ctrl, функция переключится на несколько дат, возможно ли это? Извините, я просто новичок в Javascript. Любая помощь была бы очень признательна. Большое вам спасибо!
Вот что у меня есть на данный момент.
<div class="col-xs-12">
<input class="form-control" type="text" id="multi" name="multi" required>
<div class="help-block with-errors"></div>
</div>
<script>
$('#multi').datepicker({
multidate: true,
format: 'mm-dd-yyyy',
forceParse: false
}).on('hide', function (e) {
e.stopPropagation();
})
</script>
$("#multi").on('keydown', function (event) {
if (event.shiftKey === true) {
isShift = true;
//alert(isShift);
console.log(isShift);
// isCtrl = false;
} else if (event.ctrlKey === true) {
//alert('ey ctrl press');
isCtrl = true;
console.log(isCtrl);
//isShift = false;
} else {
return false
}
});
Ответ №1:
Позвольте мне понять.. Вы хотите обнаружить нажатие клавиши shift и ctrl вместе?
Когда вы нажимаете клавишу «shift», условие, проверяющее «ctrl», не вызывается, потому что вы используете другое if.
Попробуй:
$("#multi").on('keydown', function (event) {
if (event.shiftKey === true) {
isShift = true;
} else {
isShift = false;
}
if (event.ctrlKey === true) {
isCtrl = true;
} else {
isCtrl = false;
}
if(isCtrl amp;amp; isShift) {
// do something
} else {
return false;
}
});
Комментарии:
1. Да, когда клавиша shift нажата, я хочу получить диапазон дат. Пример Я нажал 1 января, и 3 января все промежуточные даты будут выделены/выбраны. Затем, когда выбрана клавиша ctrl, я хочу получить/выбрать, по которому щелкнул пользователь multidates. Вы можете направить меня в этом направлении? Прости, что я всего лишь новичок.