2011-09-27 38 views
1

我有一個更新用戶信息的php腳本。我創建了一個html表單,它允許用戶編輯值並輸入新的值。 現在,第一次加載表單時,它會顯示一些從php變量中獲取的默認值。 工作正常,但問題與標籤。在<SELECT>中選擇動態默認值

<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> 

我怎樣才能解決這個問題呢?

回答

5

選擇標記沒有一個價值選擇。而不是使用這樣的:

例如:

<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> 
0

像這樣的工作

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