下拉列表值未被选中。

时间:2013-11-14 20:12:01

标签: php

以下是我的代码。它是用户个人资料页面的编辑器作为管理员。我希望显示为选中。我在这里阅读答案。我试过了,但它不适合我。每当它接近时,它会在下拉列表中显示BLANK。

<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'];

建议plz !!

5 个答案:

答案 0 :(得分:1)

您应该在这里添加更多空格。改变这个:

echo '<option'.'selected="selected"'.'>'.$name.'</option>';

以此为例:

echo '<option '.'selected="selected"'.'>'.$name.'</option>';

答案 1 :(得分:0)

我认为您需要做的是在<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>';
        }
    }
       ?>

答案 2 :(得分:0)

您的echo语句构造不良。标签名称和属性之间没有空格。尝试:

if($name == $city )
    {
    echo '<option selected="selected">'.$name.'</option>';
    }
    else
    {
     echo '<option value="'.$name.'">'.$name.'</option>';
    }

答案 3 :(得分:0)

echo '<option'.'selected="selected"'.'>'.$name.'</option>';

此处选项和选中不分开。您可以在它们之间插入空格:

echo '<option'.' selected="selected"'.'>'.$name.'</option>';

也适合其他人

答案 4 :(得分:0)

追加一个字符串总是具有很高的风险,你可能会忘记一个空间,所以我个人认为在双引号中放一个需要单引号的字符串,如下所示:

echo "<option selected='selected'>".$name."</option>";

这使它看起来更像普通的HTML