-1
咖啡和大脑的放弃... ...任何人都可以帮助使这种形式日期下拉功能保留选定月$ _POST ['submit']或isset($在那里的情况下是一个错误/遗漏场等使php的日期下拉功能'粘'
function createMonths($id='month_select', $selected=null)
{
/*** array of months ***/
$months = array(
1=>'Jan',
2=>'Feb',
3=>'Mar',
4=>'Apr',
5=>'May',
6=>'Jun',
7=>'Jul',
8=>'Aug',
9=>'Sep',
10=>'Oct',
11=>'Nov',
12=>'Dec');
/*** current month ***/
$selected = is_null($selected) ? date('m') : $selected;
$select = '<select name="'.$id.'" id="'.$id.'">'."\n";
foreach($months as $key=>$mon)
{
$select .= '<option value="'.str_pad($key, 2, "0", STR_PAD_LEFT).'"';
$select .= ($key==$selected) ? ' selected="selected"' : '';
$select .= ">$mon</option>\n";
}
$select .= '</select>';
return $select;
}
由于今天月份被选中默认变量永远不会是空的没有? – brainache 2009-10-28 12:45:44
@brainache - 正确的,我刚刚添加了一个空的选项,之后为他循环了几个月。不过,这并不一定是个问题,因为$ _POST的选择状态只有在表单已发布的情况下才有效。如果你想验证用户确实已经从列表中选择了一个选项,而不是简单地在这种情况下通过* January *,那么这仅仅是有用的。 – 2009-10-28 12:52:11
为了简化,上面的代码现在从一个空的选定选项开始。在提交表单时,现在将选择正确的选项(假设选择了一个)或者默认为空的选定选项。 – 2009-10-28 12:54:02