HTML / JS: проверка значения в <selected>-листе - PullRequest
0 голосов
/ 05 декабря 2011

Я действительно новичок в этом и работаю над кодом JavaScript, и я хочу посмотреть, есть ли в выпадающем списке выбранное значение.Как мне это сделать?

Я пытался:

var selectObj = form.document.getElementById('myListId');
var selectInd = selectObj.selectedInd;

и пытался:

if(selectInd == "") 

, чтобы проверить, было ли оно пустым.

Чтомне нужно изменить, чтобы он работал?

Заранее спасибо!

Ответы [ 3 ]

1 голос
/ 05 декабря 2011

В раскрывающемся списке всегда выбрано значение. Если вы просто хотите сначала оставить пустое значение, чтобы не выбирать что-то для пользователя, вы можете просто проверить, является ли оно пустым.

document.getElementById("validate").onclick = function() {
    if (document.getElementById("foo").value == "")
        alert("invalid");
    else
        alert("valid");
};

Живой пример

Согласно комментариям, это может не работать в старых версиях IE. Обязательно протестируйте его там, если вам нужна поддержка этих браузеров.

1 голос
/ 05 декабря 2011

Попробуйте прочитать это пример .

Вы пытаетесь сравнить число (selectObj.selectedIndex) со строкой (""), вы должны написать что-то вроде этого:

var selectObj = document.getElementById('myListId'),
    selectInd = selectObj.selectedIndex,
    selectedVal = selectObj.options[selectInd].value;

if(selectedVal== "") {
    /* do your stuff*/
}

Только для того, чтобы заметить: Это будет работать (только определить значение, равное "") с html следующим образом:

<select id="myListId">
    <option value="" selected="selected">Empty value</option>
    <option value="1">Non empty value</option>
</select>

Или когда пользователь выбрал опцию "Пустое значение ".

РЕДАКТИРОВАТЬ: Попробуйте с этим демо .Это демо также работает в IE7.

1 голос
/ 05 декабря 2011

HTML

<select id="myListId">
  <option value="">- Select an option-</option>
  <option value="1">Option 1</option>
  <option value="2">Option 2</option>
  <option value="3">Option 3</option>
</select>

Javascript

function checkvalue(){
    var selectObj = form.document.getElementById('myListId');
    if (selectObj.value != "") {/* DO something */}
}

Теперь вы можете выполнять эту функцию при изменении поля выбора или когда вы отправляете форму, она остается за вами.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...