JavaScript/PHP 自动检查(如果选择)

JavaScript/PHP Automatic check if selected

本文关键字:如果 选择 检查 PHP JavaScript      更新时间:2023-09-26

如何在加载网站时自动检查选择列表中是否有选定的内容并为其着色?这是我的脚本:

            <select id="my-select" class="text" name="task_owner">
                <?php
                    $sql = "SELECT user_id, user_color FROM dotp_users";
                    $result = mysql_query($sql) or die(mysql_error());
                    $new = array();
                    while($row = mysql_fetch_assoc($result)) {
                        $new[$row['user_id']] = $row['user_color'];
                    }
                    foreach ($users as $key=>$value){
                                echo '<option style="color:'.$new[$key].'" value="'.$key.'">'.$value.'</option>';
                    }
                ?>
            </select>
            <script type="text/javascript">
                var mySelect = document.getElementById('my-select');
                var setBgColor = function (select) {
                  select.style.color = select.options[select.selectedIndex].style.color;
                };
                mySelect.onchange = function () {
                  setBgColor(this);
                };
            </script>

添加 JavaScript 的结尾 添加以下代码:

if(-1 != mySelect.selectedIndex) {
     setBgColor(mySelect);
}

解释:您的 PHP 代码仅为选项元素设置颜色。选择颜色由 JavaScript 控制,在选择发生"更改"事件后。问题是页面重新加载后选择处于初始状态,并且尚未触发任何更改事件,因此如果选择了某些内容,则需要手动调用 setBgColor 函数。