Календарь datepicker
Добрый день.
На сайте имеется календарь datepicker. Задаю дату в календаре: $('#calendar1').datepicker("setDate", "01-09-2017"); $('#calendar1').datepicker("refresh"); Как мне программно (без помощи мышки) симитировать нажатие именно этой даты (типа события Click())? :help: |
Гермес,
Не хочет работать ни один из вариантов
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
<link rel="stylesheet" href="https://ajax.googleapis.com/ajax/libs/jqueryui/1.12.1/themes/smoothness/jquery-ui.css">
<script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min.js"></script>
</head>
<body>
<p>Дата: <input type="text" id="datepicker"></p>
<script>
$("#datepicker").datepicker({ dateFormat: "dd-mm-yy"});
$('#datepicker').datepicker("setDate", "01-09-2017");
// $('#datepicker').click();
// $('#datepicker').trigger('click');
var event = new Event("click");
datepicker.dispatchEvent(event);
$('#datepicker').click( function() {
alert(this.value);
});
</script>
</body>
</html>
а зачем вам нужно событие click? |
:-?
|
Есть сайт: https://1xstavka.ru/results/
Мне необходимо чтобы при нажатии на кнопку "развернуть все" отображались матчи за 01.09.2017г. Проблема в том, что всегда отображаются данные за текущее число (если вручную в календаре не выбрана другая дата). Скриптом - выбираю нужную дату, но при нажатии на кнопку развернуть все отображаются данные за текущее число. |
Гермес,
А каким образом у вас берется дата из датапикера при нажатии Развернуть все ? Вот в макете при нажатии Развернуть все нормально берется заданная программным путем дата без каких-либо дополнительных действий.
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
<link rel="stylesheet" href="https://ajax.googleapis.com/ajax/libs/jqueryui/1.12.1/themes/smoothness/jquery-ui.css">
<script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min.js"></script>
</head>
<body>
<p>Дата: <input type="text" id="datepicker"></p>
<a id="resultsShowAll" href="javascript:void(0);" title="Развернуть все">Развернуть все</a>
<script>
var pick = $('#datepicker');
pick.datepicker({ dateFormat: "dd-mm-yy"});
pick.datepicker("setDate", "01-09-2017");
$('#resultsShowAll').click( function() {
alert(pick.val());
// или так
alert(pick.datepicker("getDate"));
});
</script>
</body>
</html>
Или вы меняете дату в датапикере юзерским скриптом на чужом сайте? Возможно, что на сайте переменная с датой обновляется по событию change на датапикере. Но программный вызов события change на датапикере, к сожалению, тоже не срабатывает
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
<link rel="stylesheet" href="https://ajax.googleapis.com/ajax/libs/jqueryui/1.12.1/themes/smoothness/jquery-ui.css">
<script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min.js"></script>
</head>
<body>
<p>Дата: <input type="text" id="datepicker"></p>
<a id="resultsShowAll" href="javascript:void(0);" title="Развернуть все">Развернуть все</a>
<script>
var workdate = new Date();
var pick = $('#datepicker');
pick.datepicker({ dateFormat: "dd-mm-yy"});
pick.datepicker("setDate", "01-09-2017");
pick.trigger("change");
$('#resultsShowAll').click( function() {
alert(workdate);
});
pick.change(function() {
workdate = pick.datepicker("getDate");
});
</script>
</body>
</html>
|
Добрый день.
Это чужой сайт. Хоть не получилось, но большое СПАСИБО за помощь, я Вам очень признателен. |
Гермес,
На сайте вполне срабатывает это:
$('#calendar1').datepicker("setDate", "01-09-2017"); $('#calendar1').trigger('change');
|
Огромное спасибо.
Да все работает. Тему можно закрывать. |
| Часовой пояс GMT +3, время: 03:19. |