下面是我的代码。它是作为管理员的用户配置文件页面的编辑器。我想显示为选中。我在这里阅读了答案。我试过了,但它对我不起作用。每当它接近时,它都会在下拉列表中显示空白。
<select name="city">
<?php
foreach( $province_array as $name)
{
if($name == $city )
{
echo '<option '.'value="'.$name.'"'.'selected="selected"'.'>'.$name.'</option>';
}
else
{
echo '<option '.'value="'.$name.'"'.'>'.$name.'</option>';
}
}
?>
和这里
$city = $row['city'];
请提出建议!!
你应该在这里再添加一些空格。更改此设置:
echo '<option'.'selected="selected"'.'>'.$name.'</option>';
例如:
echo '<option '.'selected="selected"'.'>'.$name.'</option>';
我认为您需要做的是在<option>
标签的开头和selected
属性之间放置一个空格。 页面呈现后,在浏览器中检查我们的 HTML 源代码。
<select name="city">
<?php
foreach( $province_array as $name)
{
if($name == $city )
{
echo '<option'.' selected="selected"'.'>'.$name.'</option>';
}
else
{
echo '<option'.' value="'.$name.'".'>'.$name.'</option>';
}
}
?>
你的回显语句结构很差。标记名称和属性之间没有空格。尝试:
if($name == $city )
{
echo '<option selected="selected">'.$name.'</option>';
}
else
{
echo '<option value="'.$name.'">'.$name.'</option>';
}
echo '<option'.'selected="selected"'.'>'.$name.'</option>';
此处选项和选定选项不分开。您可以插入一个空白
的顺便说一句:echo '<option'.' selected="selected"'.'>'.$name.'</option>';
也为别人做
以这种方式附加字符串总是具有高风险,您可能会在某处忘记空格,所以我个人认为将需要单引号的字符串放在双引号内,如下所示:
echo "<option selected='selected'>".$name."</option>";
这使得它看起来更像普通的HTML