我有一个看起来像这样的表单:
$guests = 2; // Just for testing
$form = 'Guests<br /><select name="guests">
<option value="0">0</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
<option value="7">7</option>
<option value="8">8</option>
<option value="9">9</option>
</select>';
但是客人的列表最多可以是100,所以我可能不应该检查哪个值是手动选择的。
当用户看到此表单时,对我来说,让所选值变成所选值的好方法是什么?
谢谢!
我通常对动态选择菜单所做的是在数组上使用foreach循环,然后只检查每个项目。
类似于:
$dropdownName = "guests"; //Name of dropdown
$defaultValue = "0"; //value to select if there isn't one already set
$items = array('name'=>'value', 'anotherName'=>'anothervalue'); //items, name=>value
echo '<select name="'.$dropdownName.'">'; //Start Select
$selectedItem = (isset($_POST[$dropdownName])?$_POST[$dropdownName]:$defaultValue); //If a value is set, use it, otherwise use the default
foreach ($items as $name=>$value) //build select
{
echo '<option value="'.$value.'"'.(($selectedItem == $value)?' selected="selected"':'').'>'.$name.'</option>';
}
echo '</select>';
$guests = 2; // Just for testing
$form = 'Guests<br /><select name="guests">';
for($i = 0; $i <= 100; $i++)
$form .= "<option value='$i'{$guest == $i ? ' selected=''selected''' : ''}>$i</option>";
$form .= '</select>';
编辑:$i < 101
相当蹩脚。。。
您可以将该值存储在一个隐藏字段中,并在document.ready()上,您可以将下拉列表的选定值分配给隐藏值的值。
一个有效但可能对某些用户无效的解决方案。。。