繁体   English   中英

识别一个 <select> PHP中的输入字段

[英]Identifying selected values in a <select> input field in php

我正在使用一个更新页面,其中使用了<select>输入字段,并且我想从数据库中获取days并将其设置为输入字段的selected值。 它的工作,但我的问题是,当作为被设置这些选定的日子selected在其他日子被复制的控制。
例如:

<select name="day[]">
    <option value=""></option>
    <option>Monday</option>
    <option>Tuesday</option>
    <option>Wednesday</option>
    <option>Thursday</option>
    <option>Friday</option>
    <option>Saturday</option>
    <option>Sunday</option>
</select>       

my_days = array('Monday','Wednesday','Friday');

因此,在此示例中,将选择MondayWednesdayFriday而不重复,这是我的代码:

   <?php
        $day = $rows_load['day'];
        $days = explode(',', $day);
        $n = count($days);
         $the_days = array(
             'Monday' => 'Monday',
             'Tuesday' => 'Tuesday',
             'Wednesday' => 'Wednesday',
             'Thursday' => 'Thursday',
             'Friday' => 'Friday',
             'Saturday' => 'Saturday',
             'Sunday' => 'Sunday',
            );
     ?>

    <select data-placeholder="SELECT A DAY" multiple class="chosen-select chzn-select" tabindex="8" name="day[]" id="day" style="width:95%; " align="left" required>
        <option value=""></option>
        <?php 
        for($x = 0;$x < $n; $x ++){ 
         echo "<option selected>".$the_days[ $days[ $x ] ] ."</option>";
        }
        ?>

        <option>Monday</option>
        <option>Tuesday</option>
        <option>Wednesday</option>
        <option>Thursday</option>
        <option>Friday</option>
        <option>Saturday</option>
        <option>Sunday</option>
    </select>    

查看链接以获取图像参考

http://postimg.org/image/pqk2sn4kn/-这是上面代码的输出。

foreach ($the_days as $day_name) {
    if (in_array($day_name, $days)) {
        echo '<option selected>';
    } else {
        echo '<option>';
    }
    echo $day_name . '</option>';
}

演示

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM