[英]create a dropdown list for month and year and selected in php
我有一個“按月和年搜索”功能,並在下拉(選擇)字段中列出了月和年。到目前為止,這是完美的,但我需要在提交表單后顯示所選(月和年)。但我無法做如何在下拉列表中選擇年份和月份。下面是我的 php JavaScript 代碼。任何人都可以幫助我如何解決
下面是月份年份的兩個下拉菜單。月份和年份應該顯示為選中狀態。
<select name="month" class="form-control" >
<?php
for ($i = 0; $i <= 12; ++$i)
{
$time = strtotime(sprintf('+%d months', $i));
$label = date('F ', $time);
$value = date('m', $time);
printf('<option value="%s" selected="selected">%s</option>', $value, $label);
}
?>
</select>
<select name="year" class="form-control">
<?php
for ($i = 0; $i <= 12; ++$i)
{
$time = strtotime(sprintf('-%d years', $i));
$value = date('Y', $time);
$label = date('Y ', $time);
printf('<option value="%s" selected="selected">%s</option>', $value, $label);
}
?>
</select>
到目前為止,這是完美的,但我需要在提交表單后顯示選定的(月份和年份)。但我無法做如何在下拉列表中選擇年份和月份。下面是我的 php java 腳本代碼。任何人都可以幫助我如何解決?
試試這個代碼
<select name="month" class="form-control" >
<?php
for ($i = 1; $i <= 12; ++$i){
$time = strtotime(sprintf('+%d months', $i));
$label = date('F ', $time);
$value = date('m', $time);
echo '<option value="'.$value.'" ';
if((isset($_GET['month']))&&($value==$_GET['month']))echo 'selected';// Check if form submitted or not. select the month if yes
echo '>'.$label.'</option>';
}
?>
</select>
<select name="year" class="form-control">
<?php
for ($i = 0; $i <= 12; ++$i){
$time = strtotime(sprintf('-%d years', $i));
$value = date('Y', $time);
echo '<option value="'.$value.'" ';
if((isset($_GET['year']))&&($value==$_GET['year']))echo 'selected';// Check if form submitted or not. select the year if yes
echo '>'.$value.'</option>';
}
?>
</select>
您應該能夠使用$_REQUEST
數組中保存的值來查找每個選擇菜單的值。 但是,正如您所說,表單使用GET
之后最好使用$_GET
數組中的值,因為這樣可以使 POST 方法空閑,並且如果有任何數據發布(ajax 等),則不會影響所選值
<!doctype html>
<html>
<head>
<meta charset='utf-8' />
<title></title>
</head>
<body>
<form>
<select name="month" class="form-control">
<?php
$month = !empty( $_GET['month'] ) ? $_GET['month'] : 0;
for ($i = 0; $i <= 12; ++$i) {
$time = strtotime(sprintf('+%d months', $i));
$label = date('F ', $time);
$value = date('m', $time);
$selected = ( $value==$month ) ? ' selected=true' : '';
printf('<option value="%s"%s>%s</option>', $value, $selected, $label );
}
?>
</select>
<select name="year" class="form-control">
<?php
$year = !empty( $_GET['year'] ) ? $_GET['year'] : 0;
for ($i = 0; $i <= 12; ++$i) {
$time = strtotime(sprintf('-%d years', $i));
$value = date('Y', $time);
$label = date('Y ', $time);
$selected = ( $value==$year ) ? ' selected=true' : '';
printf('<option value="%s"%s>%s</option>', $value, $selected, $label);
}
?>
</select>
<input type='submit' />
</form>
</body>
</html>
對於月份代碼
for ($i = 0; $i <= 12; ++$i){
$time = strtotime(sprintf('+%d months', $i));
$label = date('F ', $time);
$value = date('m', $time);
$sleceted='';
if(isset($_REQUEST['month']){
$sleceted=$_REQUEST['month']== $value?'selected:selected':'';
}
printf('<option value="%s" '.$sleceted.'>%s</option>', $value, $label);
}
對於年份代碼
for ($i = 0; $i <= 12; ++$i){
$time = strtotime(sprintf('+%d months', $i));
$label = date('F ', $time);
$value = date('m', $time);
$sleceted='';
if(isset($_REQUEST['year']){
$sleceted=$_REQUEST['year']== $value?'selected:selected':'';
}
printf('<option value="%s" '.$sleceted.'>%s</option>', $value, $label);
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.