我正在尝试从选择表单中获取时间值。我在代码中看不到任何错误,尝试更改所有类名和变量,但仍然没有选择值。(我看不到提交表单后选择的值)
代码添加如下:
public function storeproTime()
{
echo $value = esc_attr( get_option( 'email_time' ) );
$start = strtotime('12:00 AM');
$end = strtotime('11:59 PM');
echo '<select style="width:85px;" name="email_time" id="select1" value ="' . $value . '"
>';
for($hours=0; $hours<24; $hours++)
{
for($mins=0; $mins<60; $mins+=30)
{
$hours_minutes =
str_pad($hours,2,'0',STR_PAD_LEFT).':'.str_pad($mins,2,'0',STR_PAD_LEFT);
echo "<option value='". $hours_minutes ."' >".$hours_minutes."</option>";
}
}
echo '</select>';
}
答案 0 :(得分:0)
如果想让某个值被自动选中,需要在selected
元素中添加<option>
属性,不要放在value
属性中<select>
。
public function storeproTime()
{
$value = esc_attr( get_option( 'email_time' ) );
$start = strtotime('12:00 AM');
$end = strtotime('11:59 PM');
echo '<select style="width:85px;" name="email_time" id="select1" >';
for($hours=0; $hours<24; $hours++)
{
for($mins=0; $mins<60; $mins+=30)
{
$hours_minutes = str_pad($hours,2,'0',STR_PAD_LEFT).':'.str_pad($mins,2,'0',STR_PAD_LEFT);
$selected = $hours_minutes == $value ? 'selected' : '';
echo "<option value='". $hours_minutes ."' " . $selected . ">".$hours_minutes."</option>";
}
}
echo '</select>';
}