未选择下拉列表值


Dropdownlist value is not getting selected.

下面是我的代码。它是作为管理员的用户配置文件页面的编辑器。我想显示为选中。我在这里阅读了答案。我试过了,但它对我不起作用。每当它接近时,它都会在下拉列表中显示空白。

<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