【问题标题】:Jquery -2 datepickers won't GET or POSTJquery -2 datepickers 不会 GET 或 POST
【发布时间】:2011-05-09 18:40:50
【问题描述】:

我有 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 标签......我什么也没得到。

谢谢

艾伦

【问题讨论】:

  • 它应该“POST”到report.php,并使用响应更新您的div w/ id="genreport"。我认为您需要共享 HTML 才能在此处获得有意义的响应(除非存在我看不到的表面语法错误)。可以分享一下吗?
  • 这里是调用日期选择器的表单.....

    开始日期:结束日期:

  • 虽然我不能告诉你一个修复,我可以建议一些调试。回调中的警报和每个 $.post 之前的警报,report.php 中的表面回显,以查看其输出是否显示在 div "genreport" 中。一个想法 - 是 datePicker 每个组件(日,月,年)的单个元素或几个不相交的元素。如果有多个,您应该将该函数绑定到整个类的 onchange
  • 这里是 DIV 标签....
  • “report.php”期望什么样的输入?日期对象?细绳? unix_timestamp? [日、月、年] 数组?不看碎片真的很难破解

标签: php javascript jquery-plugins


【解决方案1】:

您将创建两个日期选择器两次:

start1.datepicker({
    onClose: clearEndDate
});

然后:

$('#start1').daterangepicker({

在这里用萤火虫检查它:http://jsfiddle.net/KF9hb/12/

【讨论】:

  • 嗯......它仍然只显示开始和结束日期选择器......不是两个
  • "Not 2 of both" 你是什么意思?
  • 不是 HTML 意义上的两次,而是 javascript 意义上的两次。请参阅我上一条评论中的 SO 链接!另外——“get()”是什么?明明跟ajax get没关系,是不是跟DOM get有关?还是您只是决定调用自己的函数 get()?如果是后者,则该函数不需要命名。
  • 我没有把“get”放在那里。我什至没有提到它
  • 我明白你在说什么。脚本的开始是让结束日期选择器只选择 satert 日期选择器的未来日期,然后如果他们点击开始日期选择器,它将清除结束日期选择器基本上开始一个干净的石板,然后最后一部分是 GET和 POST 调用 PHP 中的信息和 MySQL 中的数据。我在这里过得很艰难......
【解决方案2】:

Fazo(在他的回答中)和我(在带有链接 jQuery datepicker, onSelect won't work 的最后评论中)提出以下建议。

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

        onClose: clearEndDate

    });

而不是放置 start1.datepicker 和 $('#start1').datepicker 的两个单独的地方,对于 end1 也是如此

【讨论】:

  • 我正在尝试 1- 将开始和结束日期作为从 MySQL 表中选择数据的范围,并且 2- 结束日期必须大于(未来日期)然后开始。这两件事让我很困惑......
  • 没关系。我猜report.php 访问数据库和setMinForEndDate 确保结束日期在开始日期之后? (或者至少这是意图)。我认为这些方面没有任何问题,它是双重初始化的事情,这让你感到困惑。试试我和 Fazo 的建议,然后像我在 cmets 中描述的那样进行一些例行调试。
猜你喜欢
  • 1970-01-01
  • 2012-01-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多