SurPaul
-
Posts
40 -
Joined
-
Last visited
Content Type
Profiles
Forums
Calendar
Store
Posts posted by SurPaul
-
-
извините, вот у меня тут ещё одна проблема
работает только один dialog их трёх... вот сам код:
<script>
$(function(){
$('#datepicker').datepicker({
inline: true,
onSelect: function(dateText, inst) {
if(dateText=="01/01/2013") $("#dialog1").dialog({draggable:false,modal:true,resizable:false,show:'blind'});
if(dateText=="04/01/2013") $("#dialog2").dialog({draggable:false,modal:true,resizable:false,show:'drop'});
if(dateText=="08/02/2013") $("#dialog3").dialog({draggable:false,modal:true,resizable:false,show:'explode'});
}
});
})
</script>
</head>
<body>
<div id="datepicker"></div>
<div id="dialog1" style="display:none">TEXT</div>
<div id="dialog2" style="display:none">TEXT</div>
<div id="dialog3" style="display:none">TEXT</div>3 if нужно писать в трёх скриптах? или тут что-то другое?
-
спасибо, забыл про них)
-
SurPaul,
HTML:
<div id="datepicker">
</div>
<div id="dialog" title="Заголовок диалога">Содержимое</div>CSS:
#dialog{display:none;}
JS:
$(function(){
$('#datepicker').datepicker({
inline: true,
onSelect: function(dateText, inst) {
if(dateText=="01/01/2012") $("#dialog").dialog();
}
});
})вроде как бы работает, но когда я его хочу переделать:
.dialog(draggable: false, modal: true, resizable: false, show: 'blind')
диалог работать не хочет... в хроме пишет: Uncaught SyntaxError: Unexpected token :
второй раз встречаюсь с этой проблемой, причину не понимаю...
-
SurPaul, я еще добавил CSS, чтобы блок с диалогом изначально был скрыт.
так тут не css нужен, а всё тот же js:
$( ".selector" ).dialog({ autoOpen: false });
(documentation)
-
SurPaul,
HTML:
<div id="datepicker">
</div>
<div id="dialog" title="Заголовок диалога">Содержимое</div>JS:
$(function(){
$('#datepicker').datepicker({
inline: true,
onSelect: function(dateText, inst) {
if(dateText=="01/01/2012") $("#dialog").dialog();
}
});
})спасибо большое)
-
SurPaul, и что потом должно произойти с текстом и ссылкой?
нечего. они будут в диалоге
-
SurPaul, вам сначала, я думаю, нужно овладеть искусством правильной постановки вопроса. Вот взять прошлую тему — я целые сутки был уверен, что вам нужно одно, а оказалось, что нужно совершенно другое. Так и здесь — что за диалог? Что он должен делать? Давайте максимально точную и подробную информацию, это экономит кучу времени и облегчает восприятие вопроса, правда.
после выбора определённой даты открывается dialog (jQuery), там нужно написать текст и ссылку. вот что я хочу сделать...
-
Если Вы обратитесь к документации, то обнаружите для себя событие onSelect, к которому вы и прикручиваете ваше диалоговое окно
понятно что онселект... а после него что писать (после "onSelect: " )?)))
-
Вот опять я всё ещё делаю свой календарь...
Что нужно сделать чтобы после выбора определённой даты открывался dialog?
-
SurPaul, нет, к сожалению)
-
SurPaul, алерт работает, потому что в функции, которая отвечает за то, чтобы он вылетел, прописано условие — если дата ячейки, на которую кликнули, совпадает с заранее прописанной — отображаем алерт. То есть дата этой ячейки становится известна только по щелчку на ней. А возможность заранее, без щелчка выделить ячейку с определенной датой просто не реализовали в этом календаре.
жаль. а onload не поможет?
-
SurPaul, нет, это не взаимосвязано По-моему, я даже помню статью на хабре, где описывался Вatepicker и тот факт, что конкретные дни в нём нельзя выделить среди остальных, только текущий (который выделяется по умолчанию) и, вроде как, выходные (при определенной настройке).
ну почему же алерт работает?? вроде одно и тоже практически
-
SurPaul, ну и? Ячейка выделяется, как и все остальные. Алерт выскакивает, потому что срабатывает событие onSelect с указанной заранее датой. А вам-то нужно, чтобы ячейка с 1 января была постоянно выделена, вне зависимости от остальных дней. Или нет?
да. именно так я и хочу сделать. я про то что если уж алерт работает, и фон поменять тоже можно будет...
-
А вот почему вы сразу не сказали, что вам нужно изменить фон ячейки? Я-то думал, что вам нужно задать определенную дату (новый год, например), и если на дворе 1 января, то у всего календаря должен измениться фон. А вам, оказывается, нужно, чтобы у конкретной ячейки можно было задать отдельный фон.. К сожалению, насколько я помню, такой возможности в datepicker'е нет.
а по-моему есть... попробуйте выбрать 1 января 2012 на моём сайте
-
SurPaul, ну вот сейчас у вас в скрипте прописано 6 апреля. Поменял у себя на компьютере дату на 6-е, обновил страницу — вуаля, добавилась фоновая картинка (серый прямоугольник). Проверил в последнем Хроме, Файрфоксе и Опере. Может, у вас с браузером что-то неладное?
браузер FireFox 11, дату поменял, ещё лучше стало:
теперь я понял что он будет менять фон только если указана сегодняшняя дата, и то фон не тот меняет.
я хочу сделать так чтобы он менял фон ячейки 1 января 2012 года, даже если сегодня 15 июля 2061 года
-
SurPaul, запакуйте все используемые файлы в архив и кидайте на файлообменник, а потом ссылку сюда. Посмотрю вживую Или ваш пример есть где-нибудь на хостинге?
-
Нет, мой вариант рабочий. Я даже перепроверил только что Возможно, что-то перепутали с датой или путём к картинке. Попробуйте поставить в our_date сегодняшнюю дату и всё ещё раз перепроверить:
var our_date = new Date("April 05, 2012");
я тоже 200 раз перепроверил, всё правильно, работать не хочет
-
Я не профессионал в области JavaScript'а, но упорно работаю над этим, и пока что смог придумать вот такую нехитрую схему.
Для начала немного поясню. После инициализации #datepicker в переменную current_date получаем текущую дату из календаря.
В переменную our_date нужно записать дату, при наступлении которой должно наступить событие, в нашем случае — смена фона.
После этого необходимо сравнить текущую дату и ту, что нужна нам. Предварительно обе даты нужно привести к одному формату, что и реализуется функцией toGMTString(). И, наконец, если даты совпали — меняем фон календаря.
$(function(){
$('#datepicker').datepicker({inline: true});
var current_date = $('#datepicker').datepicker('getDate');
var our_date = new Date("January 01, 2012");
if(current_date.toGMTString() == our_date.toGMTString()) $('.ui-datepicker-inline').css("backgroundImage", "url(pic.jpg)");
});вообще работать должно, но почему-то всё равно не работает... консоль пустая... пробовал даже так
if(current_date.toGMTString() == our_date.toGMTString()) $('.ui-datepicker-inline').style.backgroungImage='url(pic.png)';
-
В смысле, вам нужно, чтобы у календаря уже сразу был другой фон? Тогда JavaScript тут не нужен. В таблице стилей пропишите:
.ui-datepicker-inline{background: url(pic.jpg) no-repeat top left !important;}
А от инициализации календаря, в таком случае, останется следующее:
$(function(){
$('#datepicker').datepicker();
});мне не нужно чтобы везде фон менялся, только 1 января
-
$(function(){
$('#datepicker').datepicker({
inline: true,
onSelect: function(dateText, inst) {
if(dateText=="01/01/2012")
$('.ui-datepicker-inline').css("backgroundImage", "url(pic.jpg)");
}
});
});А как без onSelect?
-
<script type="text/javascript">
$(function(){
$('#datepicker').datepicker({
function(dateText, inst) {
// Ошибка выше... Хрому на нравится символ "(" перед function... Вроде всё правильно...
if(dateText=="01/01/2012")
style.backgroundImage='url(C:\Documents and Settings\Admin\Рабочий стол\jQuery\ui-bg_flat_50_5c5c5c_40x100.png)';
});
});
</script>Скажите пожалуйста, что не так??
Первый скрипт работает (делал на его основе можно сказать, так как я javascript знаю очень плохо)
<script type="text/javascript">
$(function(){
$('#datepicker').datepicker({
inline: true,
onSelect: function(dateText, inst) {
if(dateText=="01/01/2012")
alert("Happy New Year!");
}
});
});
</script> -
спасибо большое! получилось!
-
а без блоков нельзя?
с DIVами легко
-
вчера на форуме видел как так сделать, сейчас не найду
Datepicker and dialog (jQuery)
in JavaScript
Posted
вчера писал скрипт с алертом, вроде работало... а может я проверил только 1 января...))) спасибо, работает))