在<select> </select>中选择动态默认值

时间:2011-09-27 15:28:45

标签: php html

我有一个更新用户信息的PHP脚本。我创建了一个html表单,允许用户编辑值并输入新值。 现在,当第一次加载表单时,它会显示一些从php变量中获取的默认值。 工作正常,但问题是标签。

<input type = "text" name = "name" class = "text" value = "<?php echo $user->name; ?>" />

这很好..

<select name = "department" value = "<?php echo $user->department; ?>">
    <option>Information Technology</option>
    <option>Computer Science</option>
    <option>Electronics & Communication</option>
    <option>Mechanical Engineering</option>
    <option>Civil Engineering</option>
    <option>Electrical & Electronics Engineering</option>
    <option>M.Tech</option>
    <option>MBA</option>
    <option>MCA</option>
</select>

我该如何解决这个问题?

3 个答案:

答案 0 :(得分:5)

Select标签没有值选项。请改用:

例如:

<select name = "department">
<option value="IT" <?php if ($user->department == "IT") echo "selected='selected'";?> >Information Technology</option>
<option value="CS" <?php if ($user->department == "CS") echo "selected='selected'";?> >Computer Science</option>
</select>

答案 1 :(得分:0)

这样的事情会起作用

<select name = "department" value = "<?php echo $user->department; ?>">
    <option value="1" 
        <?= ( $user->department == 1 ? 'selected="selected"' : '' ) ?>>
        Information Technology
    </option>
    ...
</select>

答案 2 :(得分:0)

这可以通过一个if语句来解决。

例如:

<select name = "department">
<option value="IT">Information Technology</option>
<option value="CS">Computer Science</option>

<?php if (strlen($user->department)>1 ) 
echo "<option value="."$user->department"."selected='selected >"."$user->department"."</option>";?> 
</select>