使用javascript设置在包含optgroup标记的下拉列表中选择的html选项

使用javascript设置在包含optgroup标记的下拉列表中选择的html选项,javascript,html,Javascript,Html,我正在使用HtmlJSP和Javascript。我有一个id为examcenter的下拉框,其中包含许多optgroup,如下面的代码所示。在javascript中的函数loadDrivingSchool中,我想设置selected元素的值。loadDrivingSchool函数调用服务器中的控制器,当我返回视图时,下拉列表没有选定值。我想将此选定值设置为用户在重新加载页面之前选择的值。我尝试了以下Javascript代码,但不起作用: document.getElementById'examc

我正在使用HtmlJSP和Javascript。我有一个id为examcenter的下拉框,其中包含许多optgroup,如下面的代码所示。在javascript中的函数loadDrivingSchool中,我想设置selected元素的值。loadDrivingSchool函数调用服务器中的控制器,当我返回视图时,下拉列表没有选定值。我想将此选定值设置为用户在重新加载页面之前选择的值。我尝试了以下Javascript代码,但不起作用: document.getElementById'examcenter'.getElementsByTagName'option'[examcenter].selected='selected'


我认为您试图做的是跟踪用户选择的内容,而不提交所选选项。只有以某种方式(可能使用session属性)保留记录,才能实现这一点

您可能可以将所选选项的值存储在会话中,然后使用AJAX获取其值

但是,如果我错了,而您只是尝试在不离开该页面的情况下获取所选选项的值,那么您可以尝试在下拉列表中显示所选选项的值:

alert( document.getElementById("examcenter").value );
另外,我发现您的代码中有一个问题。您正在使用

document.getElementById('examcenter').getElementsByTagName('option')[examCenter].selected = 'selected' ;
相反,您应该使用:

document.getElementsByTagName('option').selected = true ;

可能重复我想将属性selected='selected'设置为所选的选项。loadDrivingSchool函数如下函数loadDrivingSchool{var examCenter=document.getElementByIdexamcenter;examCenter=examCenter.options[examCenter.selectedIndex].value;var url=$baseUrl.val+/candidate/index/+examCenter;doGeturl,'content';/*我想在这里将selected='selected'属性设置为choose*/}选项我已经更新了我的答案。请查看底部以检查这是否解决了您的问题。我使用了document.getElementById'examcenter'.getElementsByTagName'option'[examcenter].selected=true;如您所示,但它不起作用。当用户选择某个选项时,我真的不明白您要选择哪个选项。您能解释一下您期望的行为吗?
document.getElementsByTagName('option').selected = true ;