Календарь 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, время: 21:51. |