Проверьте, не является ли выбранная опция dropdown первой с JavaScript

Ниже опции, которые я имею в своем 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>

Я хочу создать код JavaScript, который проверит, выбрал ли пользователь опцию кроме первого.

Вот то, что я попробовал:

if (document.getElementsByTagName('option') == "nothing"){
    document.getElementById("subn").innerHTML = "Subject is Required!";
    document.getElementById("subs").focus();
    return false;
}
6
задан totymedli 11 January 2017 в 22:47
поделиться

3 ответа

Вы можете проверить вот так, если ничто не будет первым (обычно так и в моем опыте):

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 = "Требуется тема!"; сотрет ваш