2

我正在尝试在下拉列表中获取选定的值;但其中的项目在一个数组中。如何获取所选选项的值?

现在,我有这些代码行:

<?php
// lowest year wanted
$cutoff = 2013;

// current year
$now = date('Y');

// build months menu
echo '<select name="month">' . PHP_EOL;
for ($m=1; $m<=12; $m++) {
    echo '  <option value="' . $m . '">' . date('M', mktime(0,0,0,$m)) . '</option>' . PHP_EOL;
}
echo '</select>' . PHP_EOL;

// build days menu
echo '<select name="day">' . PHP_EOL;
for ($d=1; $d<=31; $d++) {
    echo '  <option value="' . $d . '">' . $d . '</option>' . PHP_EOL;
}
echo '</select>' . PHP_EOL;

// build years menu
echo '<select name="year">' . PHP_EOL;
for ($y=$now; $y>=$cutoff; $y--) {
    echo '  <option value="' . $y . '">' . $y . '</option>' . PHP_EOL;
}
echo '</select>' . PHP_EOL;
?>

假设,我选择了 7 月作为这个月。如何告诉浏览器我选择了七月。任何想法?

4

3 回答 3

2

像这样试试

echo '<select name="month">' . PHP_EOL;
for ($m=1; $m<=12; $m++) {
    if($sel_mnth == $m)
        echo '  <option value="' . $m . '" selected="selected">' . date('M', mktime(0,0,0,$m)) . '</option>' . PHP_EOL;
    else   
        echo '  <option value="' . $m . '">' . date('M', mktime(0,0,0,$m)) . '</option>' . PHP_EOL;
}
echo '</select>' . PHP_EOL;

或直接

for ($m=1; $m<=12; $m++) {                   
        echo '  <option value="' . $m . '" if($sel_mnth == $m) echo "selected=\'selected\'";>' . date('M', mktime(0,0,0,$m)) . '</option>' . PHP_EOL;
}
于 2013-05-28T07:08:54.390 回答
2

将您selectform标签放在标签内,并在提交表单后使用 $_POST['month']$_POST['year']获取用户选择的月份和年份值。

像这样

if (isset($_POST['submit'])){

$year=$_POST['year']; //user selected year value is here
...
}

<form method="POST" action="">
... //here is your select tag codes
...
<input type="submit" name="submit" />
</form>
于 2013-05-28T07:25:45.967 回答
0
<select>
    <option value="">--Select Month--</option>
    <?php for ($i=1; $i<=12; $i++)
    {
        ?>
            <option value="<?php echo $i;?>"><?php echo $i;?></option>
        <?php
    } ?>

</select>
于 2016-09-28T12:37:38.793 回答