Php HTML选择上次选择的下拉列表值?
我现在正在处理一个注册表,特别是,如果注册验证中出现错误,我将重新显示用户输入到输入中的任何信息 通常,当用户点击“提交”时,如果出现错误,页面将刷新,并将其回显,表单将重新显示。问题是某些字段中有时存在真正有效的信息,通过重新标记这些数据,可以使用value属性和类似的Php HTML选择上次选择的下拉列表值?,php,html,Php,Html,我现在正在处理一个注册表,特别是,如果注册验证中出现错误,我将重新显示用户输入到输入中的任何信息 通常,当用户点击“提交”时,如果出现错误,页面将刷新,并将其回显,表单将重新显示。问题是某些字段中有时存在真正有效的信息,通过重新标记这些数据,可以使用value属性和类似的isset()函数重新显示这些信息(当然,如果该数据已经发布,在本例中它已经发布): 我想它是selected=“selected”。或者只是“选择” 下面是一个如何实现该功能的快速示例: case "value0":
isset()
函数重新显示这些信息(当然,如果该数据已经发布,在本例中它已经发布):
我想它是selected=“selected”。或者只是“选择”
下面是一个如何实现该功能的快速示例:
case "value0":
$selected0 = "selected";
break;
case "value1":
$selected1 = "selected";
break;
<option value="value0" <?php echo $selected0;?>></option>
<option value="value1" <?php echo $selected1;?>></option>
案例“value0”:
$selected0=“selected”;
打破
案例“value1”:
$selected1=“selected”;
打破
>
我想它是selected=“selected”。或者只是“选择”
下面是一个如何实现该功能的快速示例:
case "value0":
$selected0 = "selected";
break;
case "value1":
$selected1 = "selected";
break;
<option value="value0" <?php echo $selected0;?>></option>
<option value="value1" <?php echo $selected1;?>></option>
案例“value0”:
$selected0=“selected”;
打破
案例“value1”:
$selected1=“selected”;
打破
>
您必须将selected=“selected”
添加到特定选项中。像这样:
<select name="region">
<option value="opt1">Option 1</option>
<option value="opt2" selected="selected">Option 2</option>
<option value="opt3">Option 3</option>
<option value="opt4">Option 4</option>
</select>
选择1
选择2
选择3
选择4
使用此代码时,选择选项2
在pehe中,您必须检查特定选项是否等于输入
<option value="opt4"<?php if ($region == "opt2"){ echo ' selected="selected"'; } ?>>Option 4</option>
您必须将selected=“selected”
添加到特定选项。像这样:
<select name="region">
<option value="opt1">Option 1</option>
<option value="opt2" selected="selected">Option 2</option>
<option value="opt3">Option 3</option>
<option value="opt4">Option 4</option>
</select>
选择1
选择2
选择3
选择4
使用此代码时,选择选项2
在pehe中,您必须检查特定选项是否等于输入
<option value="opt4"<?php if ($region == "opt2"){ echo ' selected="selected"'; } ?>>Option 4</option>
如果选项数量不多,可以采用一种方法:
在每个选项中输入代码:
<select>
<option selected="<?php echo (isset($region) && $region=='Volvo') ? $region : ''; ?>">Volvo</option>
<option selected="<?php echo (isset($region) && $region=='Saab') ? $region : ''; ?>">Saab</option>
<option selected="<?php echo (isset($region) && $region=='Mercedes') ? $region : ''; ?>">Mercedes</option>
<option selected="<?php echo (isset($region) && $region=='Audi') ? $region : ''; ?>">Audi</option>
</select>
如果选项数量不多,可以采用一种方法:
在每个选项中输入代码:
<select>
<option selected="<?php echo (isset($region) && $region=='Volvo') ? $region : ''; ?>">Volvo</option>
<option selected="<?php echo (isset($region) && $region=='Saab') ? $region : ''; ?>">Saab</option>
<option selected="<?php echo (isset($region) && $region=='Mercedes') ? $region : ''; ?>">Mercedes</option>
<option selected="<?php echo (isset($region) && $region=='Audi') ? $region : ''; ?>">Audi</option>
</select>
像
<select name="cmbCondition">
<option value="Excellent" <?php echo __selected('cmbCondition',"Excellent")?>>Excellent</option>
<option value="Good" <?php echo __selected('cmbCondition',"Good")?>>Good</option>
<option value="Poor" <?php echo __selected('cmbCondition',"Poor")?>>Poor</option>
</select>
>好
像
<select name="cmbCondition">
<option value="Excellent" <?php echo __selected('cmbCondition',"Excellent")?>>Excellent</option>
<option value="Good" <?php echo __selected('cmbCondition',"Good")?>>Good</option>
<option value="Poor" <?php echo __selected('cmbCondition',"Poor")?>>Poor</option>
</select>
>好
function build\u select($name,array$options=NULL,$selected=NULL)
{
foreach($value=>$option的选项)
$return.=($value!=$selected)“.$option.”:“.$option.”;
返回“.$return.”;
}
echo build_select('region',array('Lorem'=>'Ipsum','Auckland'=>'Auckland','Ipsum'=>'Lorem'),'Auckland');
HTML
乱数假文
奥克兰
洛勒姆
函数构建\u选择($name,array$options=NULL,$selected=NULL)
{
foreach($value=>$option的选项)
$return.=($value!=$selected)“.$option.”:“.$option.”;
返回“.$return.”;
}
echo build_select('region',array('Lorem'=>'Ipsum','Auckland'=>'Auckland','Ipsum'=>'Lorem'),'Auckland');
HTML
乱数假文
奥克兰
洛勒姆
基于阵列动态创建选项。
用法应该非常简单
<?php
function rennder_options($options = array(), $selection = null) {
if (!is_array($options)) {
return false;
}
$result = "";
foreach($option as $option) {
$option_str = '<option value="'.$option['value'].'"';
if ($selection !== null && $option['value'] == $selection){
$option_str .= ' selected="selected"';
}
$option_str .= '>'.$option['name'].'</option>';
$result .= $option_str;
}
return result;
}
$options = array(
array( "value" => "opt1", "name" => "Option 1" )
array( "value" => "opt2", "name" => "Option 2" ),
array( "value" => "opt3", "name" => "Option 3" ),
);
?>
<select name="region">
<?php echo render_options($options, $_POST['region']); ?>
</select>
基于阵列动态创建选项。
用法应该非常简单
<?php
function rennder_options($options = array(), $selection = null) {
if (!is_array($options)) {
return false;
}
$result = "";
foreach($option as $option) {
$option_str = '<option value="'.$option['value'].'"';
if ($selection !== null && $option['value'] == $selection){
$option_str .= ' selected="selected"';
}
$option_str .= '>'.$option['name'].'</option>';
$result .= $option_str;
}
return result;
}
$options = array(
array( "value" => "opt1", "name" => "Option 1" )
array( "value" => "opt2", "name" => "Option 2" ),
array( "value" => "opt3", "name" => "Option 3" ),
);
?>
<select name="region">
<?php echo render_options($options, $_POST['region']); ?>
</select>
标记没有value属性。@SonalKhunt我知道,我提到过。:)@Antilogical,我认为你应该考虑使用JavaScript来设置这个选择,而不是搞砸一个服务器端…例如使用jQuery<代码>$('option[value=“Auckland”]')。attr('selected','selected')代码>。。。您还可以为HTML表单编写函数。。。看看这个。。。好的,你知道php中的abt魔术函数,你可以使用它。。。我把我的密码作为答案。。。标记没有值属性。@SonalKhunt我知道,我提到过。:)@Antilogical,我认为你应该考虑使用JavaScript来设置这个选择,而不是搞砸一个服务器端…例如使用jQuery<代码>$('option[value=“Auckland”]')。attr('selected','selected')代码>。。。您还可以为HTML表单编写函数。。。看看这个。。。好的,你知道php中的abt魔术函数,你可以使用它。。。我把我的代码作为答案…所以如果他们选择了不同的选项(比如opt3),就不会涉及PHP,然后它会出错吗?它仍然返回opt3,而不是默认的opt2?只是编辑了我的帖子。您必须检查当前选项是否与$region
相等,如果是,则回显selected=“selected”
那么您说我必须为每个选项执行一个if语句?当然有一个更简单的方法可以做到这一点,因为我有大约20个选择。可以使用javascript选择选项,也可以使用php动态创建选项。你有一个可能的数组,然后生成带有foreach循环的选项。如果您需要这些选项的详细信息,请让我知道Rajat Singhal实现了javascript版本:),因此如果他们选择了不同的选项(比如opt3),那么就不会涉及PHP,然后会出错吗?它仍然返回opt3,而不是默认的opt2?只是编辑了我的帖子。您必须检查当前选项是否与$region
相等,如果是,则回显selected=“selected”
那么您说我必须为每个选项执行一个if语句?当然有一个更简单的方法可以做到这一点,因为我有大约20个选择。可以使用javascript选择选项,也可以使用php动态创建选项。你有一个可能的数组,然后生成带有foreach循环的选项。如果您需要这些选项的详细信息,请让我知道Rajat Singhal实现了javascript版本:)对于这样一个简单的任务来说,这肯定是太多的代码了。我在下拉菜单中有大约20个选项。对于这样一个简单的任务来说,代码肯定太多了。我在下拉菜单中有大约20个选项。如果您有几个选项,那么提前使用switch语句是有意义的。它会为每个echo保存一个新的比较。是的,比多个if语句好,但是对于这样一个简单的任务来说,它似乎还是太简单了?我认为这相当有效。别忘了swtich语句。所以,抓住region并切换($region){case etc}。如果您使用“selected”作为参数,请在代码验证程序中对我进行双重检查