Javascript HTML/PHP在我填充select from数组的select中设置选项的值

Javascript HTML/PHP在我填充select from数组的select中设置选项的值,javascript,php,html,select,Javascript,Php,Html,Select,我目前正试图在一个php变量的选择框中设置一个选项的值 就像登录屏幕在输入错误密码时保存用户名一样,如果提交出现问题,我想在滚动框中保存选项的值 现在问题出现了,我正在使用带有数组的脚本来填充选择框中的选项。(PS有更多的选择,但例如减少) 瓦尔伊尔克瓦格= [ { “文本”:“警察”, “价值”:“警察” }, { “文本”:“教师”, “价值”:“教师” } ]; var selectBox=document.getElementById('yrke'); 对于(var i=0,l=yrk

我目前正试图在一个php变量的选择框中设置一个选项的值

就像登录屏幕在输入错误密码时保存用户名一样,如果提交出现问题,我想在滚动框中保存选项的值

现在问题出现了,我正在使用带有数组的脚本来填充选择框中的选项。(PS有更多的选择,但例如减少)


瓦尔伊尔克瓦格=
[
{
“文本”:“警察”,
“价值”:“警察”
},
{
“文本”:“教师”,
“价值”:“教师”
}
];
var selectBox=document.getElementById('yrke');
对于(var i=0,l=yrkeValg.length;i
我试图从php类函数“hentYrke()”中设置值,但它被忽略了。已检查,且功能值正确。 例如,如何将teacher设置为php变量的值

<select id="yrke" name="yrke" value="<?php $nyDeltaker->hentYrke() ?>"></select>

由于页面加载时
选择
元素的
选项
在页面上不存在,因此您需要在添加
选择
元素后再添加一行,以基本上“重新设置”该元素的值

<script>
    var yrkeValg =
        [
            {
                "text"  : "Police",
                "value" : "police"
            },
            {
                "text"     : "Teacher",
                "value"    : "teacher"
            }
        ];

    var selectBox = document.getElementById('yrke');

    for(var i = 0, l = yrkeValg.length; i < l; i++)
    {
        var option = yrkeValg[i];
        selectBox.options.add(new Option(option.text, option.value, option.selected));
    }

    // this is the line to add
    selectBox.value = document.getElementById('yrke').getAttribute('value');

</script>

瓦尔伊尔克瓦格=
[
{
“文本”:“警察”,
“价值”:“警察”
},
{
“文本”:“教师”,
“价值”:“教师”
}
];
var selectBox=document.getElementById('yrke');
对于(var i=0,l=yrkeValg.length;i


请注意,根据您是否在
hentYrek()
函数中实际执行
echo
操作,您可能需要按照AamirR的建议执行。

您的行缺少
echo
,请尝试以下操作:
,在此处阅读有关echo的更多信息页面加载时,元素中不存在选项,这就是你的问题。你的Javascript和你的HTML存在于同一个文件中吗?是的,虽然我这次忘了添加“echo”,但我在其他时候尝试过它。你的答案很完美。我尝试了一些类似的东西:selectBox.value=“”,但当我还在学习php和html时,我只是走了这么远,不太清楚为什么它不起作用。非常感谢你的帮助!
<script>
    var yrkeValg =
        [
            {
                "text"  : "Police",
                "value" : "police"
            },
            {
                "text"     : "Teacher",
                "value"    : "teacher"
            }
        ];

    var selectBox = document.getElementById('yrke');

    for(var i = 0, l = yrkeValg.length; i < l; i++)
    {
        var option = yrkeValg[i];
        selectBox.options.add(new Option(option.text, option.value, option.selected));
    }

    // this is the line to add
    selectBox.value = document.getElementById('yrke').getAttribute('value');

</script>