选项中的组合框默认值


Combobox default value from options

我在wordpress自定义帖子中添加了一个组合框。当用户保存页面时,组合框值将被保存,在页面加载时,该值将被读取并显示在页面上。

但是,我希望组合框在页面加载时将该值显示为其"默认值"。目前,组合框只是在页面加载时显示第一个选项。我能想到的唯一方法是将保存的值"移动"到组合框选项的"顶部"。

有没有其他方法可以让组合框"选择"一个默认值而不重新排列选项?

检查所需的值并使用PHP 进行选择

<select name="mybox">
<option value="val1" <?php if("val1" == $_POST['mybox']){ echo "selected"; } ?>>val1</option>
<option value="val2" <?php if("val2" == $_POST['mybox']){ echo "selected"; } ?>>val1</option>
<option value="val3" <?php if("val3" == $_POST['mybox']){ echo "selected"; } ?>>val1</option>
</select>

或者,如果你不想键入所有这些,请使用js:

        function setSelectedValue(selectObj, valueToSet) {
            //window.alert('function called');
            for (var i = 0; i < selectObj.options.length; i++) {
                if (selectObj.options[i].value == valueToSet) {
                    selectObj.options[i].selected = true;
                    return;
                }
            }
        }
        window.onload = function(){
            var em = document.getElementsByName("mybox")[0];
            setSelectedValue(em, "<?php echo $_POST['mybox']; ?>");
        }