1

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

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

建议请!

4

5 回答 5

1

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

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

例如:

echo '<option '.'selected="selected"'.'>'.$name.'</option>';
于 2013-11-14T20:14:05.763 回答
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>';
        }
    }
       ?>
于 2013-11-14T20:14:15.633 回答
0

您的回声语句结构不佳。标签名称和属性之间没有空格。尝试:

if($name == $city )
    {
    echo '<option selected="selected">'.$name.'</option>';
    }
    else
    {
     echo '<option value="'.$name.'">'.$name.'</option>';
    }
于 2013-11-14T20:14:26.443 回答
0
echo '<option'.'selected="selected"'.'>'.$name.'</option>';

这里的选项和选中的不是分开的。您可以插入一个空白 btw 他们:

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

也为别人做

于 2013-11-14T20:15:39.767 回答
0

以这种方式附加字符串总是具有很高的风险,您可能会在某处忘记空格,因此我个人认为将需要单引号的字符串放在双引号中,如下所示:

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

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

于 2013-11-14T20:28:24.060 回答