Jump to content

SurPaul

User
  • Posts

    40
  • Joined

  • Last visited

Posts posted by SurPaul

  1. SurPaul, это уже до смешного доходит) Читайте документацию внимательно! Формат этой даты: сначала -- номер месяца, потом номер дня, и год. То есть, в вашем случае получилось 1 января, 1 апреля и 2 августа 2013 года, и по клику на них диалоги выскакивают, как и должны.

    вчера писал скрипт с алертом, вроде работало... а может я проверил только 1 января...))) спасибо, работает))

  2. извините, вот у меня тут ещё одна проблема :D:dash:

    работает только один 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 нужно писать в трёх скриптах? или тут что-то другое?

  3. 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 :

    второй раз встречаюсь с этой проблемой, причину не понимаю...

  4. 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();
    }
    });
    })

    спасибо большое)

  5. SurPaul, вам сначала, я думаю, нужно овладеть искусством правильной постановки вопроса. Вот взять прошлую тему — я целые сутки был уверен, что вам нужно одно, а оказалось, что нужно совершенно другое. Так и здесь — что за диалог? Что он должен делать? Давайте максимально точную и подробную информацию, это экономит кучу времени и облегчает восприятие вопроса, правда.

    после выбора определённой даты открывается dialog (jQuery), там нужно написать текст и ссылку. вот что я хочу сделать...

  6. SurPaul, алерт работает, потому что в функции, которая отвечает за то, чтобы он вылетел, прописано условие — если дата ячейки, на которую кликнули, совпадает с заранее прописанной — отображаем алерт. То есть дата этой ячейки становится известна только по щелчку на ней. А возможность заранее, без щелчка выделить ячейку с определенной датой просто не реализовали в этом календаре.

    жаль. а onload не поможет? :(

  7. SurPaul, нет, это не взаимосвязано :) По-моему, я даже помню статью на хабре, где описывался Вatepicker и тот факт, что конкретные дни в нём нельзя выделить среди остальных, только текущий (который выделяется по умолчанию) и, вроде как, выходные (при определенной настройке).

    ну почему же алерт работает?? вроде одно и тоже практически

  8. SurPaul, ну и? Ячейка выделяется, как и все остальные. Алерт выскакивает, потому что срабатывает событие onSelect с указанной заранее датой. А вам-то нужно, чтобы ячейка с 1 января была постоянно выделена, вне зависимости от остальных дней. Или нет? :)

    да. именно так я и хочу сделать. я про то что если уж алерт работает, и фон поменять тоже можно будет...

  9. А вот почему вы сразу не сказали, что вам нужно изменить фон ячейки? Я-то думал, что вам нужно задать определенную дату (новый год, например), и если на дворе 1 января, то у всего календаря должен измениться фон. А вам, оказывается, нужно, чтобы у конкретной ячейки можно было задать отдельный фон.. К сожалению, насколько я помню, такой возможности в datepicker'е нет.

    а по-моему есть... попробуйте выбрать 1 января 2012 на моём сайте

  10. SurPaul, ну вот сейчас у вас в скрипте прописано 6 апреля. Поменял у себя на компьютере дату на 6-е, обновил страницу — вуаля, добавилась фоновая картинка (серый прямоугольник). Проверил в последнем Хроме, Файрфоксе и Опере. Может, у вас с браузером что-то неладное? :)

    браузер FireFox 11, дату поменял, ещё лучше стало:

    9cdb943a80b8b6061196556013cf63a3.jpg

    теперь я понял что он будет менять фон только если указана сегодняшняя дата, и то фон не тот меняет.

    я хочу сделать так чтобы он менял фон ячейки 1 января 2012 года, даже если сегодня 15 июля 2061 года :D

  11. Нет, мой вариант рабочий. Я даже перепроверил только что :) Возможно, что-то перепутали с датой или путём к картинке. Попробуйте поставить в our_date сегодняшнюю дату и всё ещё раз перепроверить:

    var our_date = new Date("April 05, 2012");

    я тоже 200 раз перепроверил, всё правильно, работать не хочет :(

  12. Я не профессионал в области 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)';

  13. В смысле, вам нужно, чтобы у календаря уже сразу был другой фон? Тогда JavaScript тут не нужен. В таблице стилей пропишите:

    .ui-datepicker-inline{background: url(pic.jpg) no-repeat top left !important;}

    А от инициализации календаря, в таком случае, останется следующее:


    $(function(){
    $('#datepicker').datepicker();
    });

    мне не нужно чтобы везде фон менялся, только 1 января


  14. <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>

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy