You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PHP修改日期选择器默认选项:替换日期范围为自定义文本

旅游日期选择器默认选项修改方案

以下针对你提出的两种需求,给出具体代码修改方法:

一、替换为“选择您的日期”提示文本

直接修改下拉框的默认选项,将原有的getDateRange()替换为提示文本,并添加属性确保默认显示且不可误选:

if(count($dates)>1):
    // 替换默认提示文本,添加disabled和selected属性
    $listing = '<select class="select-css sacred_datepicker"><option value="0" disabled selected>选择您的日期</option>'.
                implode(' ',$dates).
                '</select>';
    echo sprintf($defaultFormat, 'dates', 'Dates:', $listing);
else:
    echo sprintf($defaultFormat, 'dates', 'Dates:', implode(' ',$dates_single));
    echo "<input class='sacred_date_single' value='".implode(' ',$dates_single)."' type='hidden'>";
endif;

说明:disabled属性防止用户选中提示选项,selected确保页面加载时默认显示该提示。

二、默认选中首个可用日期

修改日期选项生成逻辑,给首个可预订日期添加selected属性,同时移除原提示选项:

if (have_rows('available_tour_dates')) :
    $dates = array();
    $index = 1;
    while (have_rows('available_tour_dates')) : the_row();
        $dates_single[] = getPrettyDate(get_sub_field('start_date')).' &ndash; '.getPrettyDate(get_sub_field('end_date'));
        $c = (get_sub_field('bookable'))? '' : ' disabled';
        // 给首个可预订日期添加selected属性
        if($index === 1 && empty($c)){
            $c .= ' selected';
        }
        $dates[] = sprintf($optionFormat, $index, $c, getPrettyDate(get_sub_field('start_date')).' &ndash; '.getPrettyDate(get_sub_field('end_date')));
        $index++;
    endwhile;
    if(count($dates)>1):
        // 移除原提示选项,直接渲染日期列表
        $listing = '<select class="select-css sacred_datepicker">'.
                    implode(' ',$dates).
                    '</select>';
        echo sprintf($defaultFormat, 'dates', 'Dates:', $listing);
    else:
        echo sprintf($defaultFormat, 'dates', 'Dates:', implode(' ',$dates_single));
        echo "<input class='sacred_date_single' value='".implode(' ',$dates_single)."' type='hidden'>";
    endif;
?>

说明:

  • 仅给可预订的首个日期添加选中状态,避免默认选中不可预订的日期
  • 需确保$optionFormat的格式为类似<option value="%d" %s>%s</option>,保证属性能正确插入

内容的提问来源于stack exchange,提问作者Renee

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.07 00:30:47