【问题标题】:Passing two JQuery Datepicker variables through html form to PHP variables?通过html表单将两个JQuery Datepicker变量传递给PHP变量?
【发布时间】:2015-11-05 16:44:25
【问题描述】:

我有一个 JQuery Datepicker 修改为根据用户选择的日期选择周范围,并提交一个名为“weekDate”onSelect 的 HTML 表单:

$(document).ready(function()
{  
    var startDate;
    var endDate;

    var selectCurrentWeek = function() {
        window.setTimeout(function () {
            $('.week-picker').find('.ui-datepicker-current-day a').addClass('ui-state-active')
        }, 1);
    }

    $('.week-picker').datepicker( {
        showOtherMonths: true,
        selectOtherMonths: true,
        onSelect: function(dateText, inst) { 
            var date = $(this).datepicker('getDate');
            startDate = new Date(date.getFullYear(), date.getMonth(), date.getDate() - date.getDay());
            endDate = new Date(date.getFullYear(), date.getMonth(), date.getDate() - date.getDay() + 6);
            var dateFormat = inst.settings.dateFormat || $.datepicker._defaults.dateFormat;
            $('#startDate').text($.datepicker.formatDate( dateFormat, startDate, inst.settings ));
            $('#endDate').text($.datepicker.formatDate( dateFormat, endDate, inst.settings ));

            selectCurrentWeek();

        },
        beforeShowDay: function(date) {
            var cssClass = '';
            if(date >= startDate && date <= endDate)
                cssClass = 'ui-datepicker-current-day';
            return [true, cssClass];
        },
        onChangeMonthYear: function(year, month, inst) {
            selectCurrentWeek();
        },

        onSelect : function(){
        $('#weekDate').submit();   
    }
    });

    $('.week-picker .ui-datepicker-calendar tr').live('mousemove', function() { $(this).find('td a').addClass('ui-state-hover'); });
    $('.week-picker .ui-datepicker-calendar tr').live('mouseleave', function() { $(this).find('td a').removeClass('ui-state-hover'); });
});

然后我有一个名为“weekDate”的 HTML 表单,用于在用户选择日期时触发 onSelect Datepicker 函数时捕获 startDate 和 endDate 值:

<form id="weekDate" name="weekDate" action="~" method="post"> 
    <input type="hidden" id="startDate" name="startDate" class="week-picker" />
    <input type="hidden" id="endDate" name="endDate" class="week-picker" />
</form>

然后我有一个 PHP 页面,希望将 #startDate 和 #endDate 的值作为 POST 变量:

$UpWeekStart = $_POST['startDate'];
$UpWeekEnd = $_POST['endDate'];

我的问题: 当我尝试回显 $UpWeekStart 和 $UpWeekEnd 时,会输出空白。请帮忙。

【问题讨论】:

  • ".text() 方法不能用于表单输入或脚本。要设置或获取输入或 textarea 元素的文本值,请使用 .val() 方法。" -- api.jquery.com/text/
  • 如:"$('#startDate').val($.datepicker.formatDate(dateFormat, startDate, inst.settings)); $('#endDate').val($. datepicker.formatDate(dateFormat, endDate, inst.settings));"?
  • 看起来你定义了两次onSelect 回调,你能做到吗?
  • 这就是解决方案!我添加了我的“$('#weekDate').submit();”到最初的 onSelect ,它现在可以工作了。感谢您的帮助!
  • 不客气,祝项目好运。

标签: javascript php jquery html datepicker


【解决方案1】:

您需要将 .text() 更改为 .val()

$('#startDate').val();

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-04-28
    • 1970-01-01
    • 2014-12-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-02-19
    相关资源
    最近更新 更多