Jquery -2 средства выбора даты не будут ПОЛУЧАТЬ или ПОСТАВЛЯТЬ

У меня есть 2 средства выбора даты для даты начала и даты окончания... Может ли кто-нибудь сказать мне, почему это ничего не отправляет в DIV...

$(function () {
    var start1 = $('#start1');
    var end1 = $('#end1');

    start1.datepicker({
        onClose: clearEndDate
    });
    end1.datepicker({
        beforeShow: setMinDateForEndDate
    });

    function setMinDateForEndDate() {
        var d = start1.datepicker('getDate');
        if (d) return {
            minDate: d
        }
    }

    function clearEndDate(dateText, inst) {
        end1.val('');
    }
    $(function get() {
        $('#start1').daterangepicker({
            onSelect: function (dateText, inst) {
                $.post("report.php", {
                    dt_start: dateText
                }, function (data) {
                    $("#genreport").html(data);
                });
            }
        });
        $('#end1').daterangepicker({
            onSelect: function (dateText, inst) {
                $.post("report.php", {
                    dt_end: dateText
                }, function (data) {
                    $("#genreport").html(data);
                });
            }
        });
    });
});

Откроются средства выбора даты, и я могу выбрать дату. Дата отображается в поле, но ничего не ПОЛУЧАЕТ и не "отправляет" в тег DIV... Я ничего не получаю.

Спасибо

Алан


person Alan    schedule 14.11.2010    source источник
comment
Он должен отправить сообщение в report.php и обновить ваш div w/ id=genreport с ответом. Я думаю, вам нужно поделиться HTML-кодом, чтобы получить здесь содержательный ответ (если нет поверхностной синтаксической ошибки, которую я не вижу). Вы можете поделиться?   -  person jon_darkstar    schedule 14.11.2010
comment
Вот форма, которая вызывает средства выбора даты..... ‹form name=range1› ‹P›Начальная дата: ‹INPUT id=start1 type=text size=10 onSelect=get('dt_start1');› End Date:‹ INPUT id=end1 type=text size=10 onSelect=get('dt_end1');›‹/P›‹/form›   -  person Alan    schedule 14.11.2010
comment
Хотя я не могу предложить вам исправление, я могу предложить некоторую отладку. Оповещения в обратных вызовах и прямо перед каждым $.post, поверхностное эхо в вашем report.php, чтобы увидеть, отображается ли его вывод в div geneport вообще. Одна идея - это datePicker один элемент или несколько непересекающихся элементов для каждого компонента (день, месяц, год). Если их несколько, вы должны привязать эту функцию к onchange для всего их класса.   -  person jon_darkstar    schedule 14.11.2010
comment
Вот тег DIV....‹div id=genreport› ‹div align=center class=yelo›‹/div› ‹/div›   -  person Alan    schedule 14.11.2010
comment
какой ввод ожидает report.php? Объект даты? Нить? unix_timestamp? [день, понедельник, год] массив? Это очень сложно взломать, не видя осколков   -  person jon_darkstar    schedule 14.11.2010
comment
это может помочь, так как кажется, что вы определяете часть прототипа дважды, тогда как одного раза было бы достаточно с помощью $(this), чтобы отличить, какой именно. stackoverflow.com/questions/887696/   -  person jon_darkstar    schedule 14.11.2010
comment
Я ничего не могу получить из report.php. На данный момент у меня есть только добрый день, написанный в файле report.php ... Он должен повторять это в DIV жанра порта, как только я выбираю (onSelect) даты в средстве выбора даты ... верно ??? Что у меня есть в MySQL, так это простая таблица с датой, временем, мощностью, напряжением, током, и я хочу выбрать диапазон дат из средств выбора даты, чтобы создать отчет в выбранном диапазоне дат... Мой инвертор панели SOlar подключен к Таблица MySQL, и данные вводятся каждый час (24 часа в сутки). Я хочу видеть это на сайте, который я сделал, тогда я могу распечатать информацию, чтобы   -  person Alan    schedule 14.11.2010


Ответы (2)


вы создаете оба средства выбора даты дважды:

start1.datepicker({
    onClose: clearEndDate
});

а потом:

$('#start1').daterangepicker({

проверьте это с помощью firebug здесь: http://jsfiddle.net/KF9hb/12/

person fazo    schedule 14.11.2010
comment
Хмммм ... он по-прежнему показывает только начальный и конечный указатель даты ... Не 2 из обоих - person Alan; 14.11.2010
comment
Не 2 из обоих, что вы имеете в виду? - person fazo; 14.11.2010
comment
не дважды в смысле HTML, а в смысле javascript. Смотрите ссылку SO в моем последнем комментарии! Кроме того, что с get() ?? Это явно не связано с получением ajax, это как-то связано с получением DOM? Или вы просто решили вызвать собственную функцию get()? Если это последнее, эту функцию НЕ нужно называть. - person jon_darkstar; 14.11.2010
comment
я не поставил добраться туда. я даже не упоминал об этом - person fazo; 14.11.2010
comment
Я вижу, о чем вы говорите. начало сценария состоит в том, чтобы заставить конечный указатель даты выбирать только будущие дни средства выбора даты satert, а затем, если они щелкнут в начальном средстве выбора даты, он очистит конечный указатель даты, чтобы в основном начать с чистого листа, тогда последняя часть - это ПОЛУЧИТЬ и POST для вызова информации с PHP и данных в MySQL. Мне здесь тяжело... - person Alan; 14.11.2010

Фазо (в своем ответе) и я (в последнем комментарии со ссылкой jQuery datepicker, onSelect не будет работать) предполагают следующее.

    $('#start1').daterangepicker({
        onSelect: function (dateText, inst) {
            $.post("report.php", {
                dt_start: dateText
            }, function (data) {
                $("#genreport").html(data);
            });
        }

        onClose: clearEndDate

    });

а не два отдельных места, где вы помещаете start1.datepicker и $('#start1').datepicker, и аналогично для end1

person jon_darkstar    schedule 14.11.2010
comment
Я пытаюсь 1- иметь дату начала и окончания в качестве диапазона для выбора данных из таблицы MySQL и 2-дата окончания должна быть больше (будущая дата), чем начало. Эти 2 вещи меня смущают... - person Alan; 14.11.2010
comment
это нормально. я предполагаю, что report.php обращается к базе данных, а setMinForEndDate гарантирует, что дата окончания будет после даты начала? (или, по крайней мере, это намерение). Я не вижу ничего плохого в этих аспектах, вас смущает двойная инициализация. Попробуйте то, что мы с Фазо предлагаем, и выполните рутинную отладку, как я описал в комментариях. - person jon_darkstar; 14.11.2010