Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/417.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/shell/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
检查下拉菜单的所选选项是否不是JavaScript的第一个选项_Javascript_Html_Html Select - Fatal编程技术网

检查下拉菜单的所选选项是否不是JavaScript的第一个选项

检查下拉菜单的所选选项是否不是JavaScript的第一个选项,javascript,html,html-select,Javascript,Html,Html Select,以下是我在HTML代码中的选项: <label id="subn"> <select name="subs" id="subs"> <option value="nothing">Choose a Subject</option> <option value="General Question">General Question</option> <o

以下是我在HTML代码中的选项:

    <label id="subn">
      <select name="subs" id="subs">
        <option value="nothing">Choose a Subject</option>
        <option value="General Question">General Question</option>
        <option value="MemberShip Area">MemberShip Area</option>
        <option value="Others">Others</option>
      </select>
    </label>

如果没有什么事情会首先发生,你可以这样检查,通常我的经验是:

if (document.getElementById('subs').selectedIndex == 0){
要仍然基于该值进行比较,请执行以下操作:

var sel = document.getElementById('subs');
if (sel.options[sel.selectedIndex].value == 'nothing') {
您可能需要更改标记,以便将标签放在旁边,如下所示:

<select name="subs" id="subs"></select><label id="subn" for="subs"></label>
否则,此部分:.innerHTML=Subject是必需的!;将删除您的:

这应该可以:

var index = document.your_form_name.subs.selectedIndex;
var value = document.your_form_name.subs.options[index].value;

if (value === "nothing"){
   // your further code here.........
}
getElementsByTagName'option'提供文档中所有选项元素的集合,没有任何内容是字符串。将集合与字符串进行比较是毫无用处的

还需要设置document.getElementByIdsubn.innerHTML=Subject!;将删除select元素,因此document.getElementByIdsubs将无法再找到任何内容

如果您只需要知道是否选择了任何内容,请检查select元素的selectedIndex属性:


编辑:将>0更改为您已编写文档。getElementsByTagName'subs'您的意思是文档。getElementById'subs'如果您的主题是向后的,如果它>0,则未选择任何内容,则他希望进行反向检查。在他编写的文本中,如果用户选择的主题不是第一个主题,但在他的例子中,他试图检查第一个是否被选中,因此有一点矛盾。他添加了一条消息,如果他们没有选择任何内容,则返回。这从他的代码中是非常清楚的,我不确定混乱在哪里。。。
var index = document.your_form_name.subs.selectedIndex;
var value = document.your_form_name.subs.options[index].value;

if (value === "nothing"){
   // your further code here.........
}
if (document.getElementById("subs").selectedIndex <= 0) {
  // nothing is selected
}