使用 php 预填充选择框


Pre populating selectbox using php

我有一个问题,我想不出解决方案。我有一个从服务器获得的数据数组。我必须预先填充一个已经有一些值的表单。

<select id="select1" name="Salutation" class="field-size-top-large" >
     <option value="">-- please select -- </option>
     <option value="Mr.">Mr.</option>
     <option value="Ms.">Ms.</option>
</select>

我正在得到一个数组

 array(11) { 
            [0]=> string(4) "Ms." 
            [1]=> string(8) "Y"
           }

我必须检查选择列表中是否有[0]=>'Ms.',如果应该选择它,否则选择默认值。有什么想法吗?

使用这个

$options = array('Mr.', 'Ms.');
$data = array(0 => 'Ms.', 1 => 'Y');
<select id="select1" name="Salutation" class="field-size-top-large">
    <option value="">-- please select --</option>
    <?php foreach ($options as $option): ?>
        <option value="<?php echo $option?>" <?php echo $option == $data[0] ? 'selected' : ''; ?>><?php echo $option; ?></option>
    <?php endforeach; ?>
</select>

试试这个:

$options = ['Mr.', 'Ms.']; // the default options
$data = [0 => 'Ms.', 1 => 'Y']; // data from server
<select id="select1" name="Salutation" class="field-size-top-large">
    <option value="">-- please select --</option>
    <?php foreach ($options as $option): ?>
        <option value="<?php echo $option; ?>" <?php echo in_array($option, $data) ? 'selected' : ''; ?>><?php echo $option; ?></option>
    <?php endforeach; ?>
</select>

我的灵魂:我从服务器获得的数据数组,即 0=>'Ms.' 是我可以检查的唯一值,其余部分是不同的字段

 <select id="select1" name="Salutation" class="field-size-top-large" >
     <option value="">-- please select --</option>
     <option value="Mr." <?php echo 'Mr.'== $data[0]? 'selected':''?>> Mr. </option>
     <option value="Ms."<?php echo 'Ms.'== $data[0]? 'selected':''?>>Ms.</option>
 </select>