2014-09-28 3 views
1

Im пытается сделать этот комбинированный блок HTML равным значению.HTML Combo Box selected Значение элемента

<select name="file_type"> <option value=".jpg">.JPG</option> <option value=".png">.PNG</option> <option value=".gif">.GIF</option> </select>

Так что, когда я выбираю JPG на моей веб-странице, то это значит, что file_type = .jpg? Я бы так подумал.

Итак им пытаются назвать это значение из JavaScript, например, так:

var fileType = document.getElementByID("file_type").value;

является то, что, как это делается? Как еще я могу получить значение выбранного элемента в поле со списком?

С уважением

ответ

2

Первый элемент управления не имеет ID набор атрибутов только имя, вам нужно добавить идентификатор в HTML

<select id="file_type" name="file_type" > 

Тогда путь вы получите выбранный из комбо, как:

var selectCtrl = document.getElementById("file_type"); 
var selectedItem = selectCtrl.options[selectCtrl.selectedIndex]; 

Это selectedItem имеет к свойствам value и текст:

selectedItem.value //<-- ".jpg" 

и

selectedItem.text //<-- ".JPG" 

Online Demo

+0

Благодарности куч. Я попробую это сейчас. – 2014-09-28 11:22:00

+0

Остерегайтесь того, что 'selectedIndex' может в некоторых случаях равняться -1. – MaxArt

+0

Когда я добавляю эти переменные в JavaScript, это не работает. Используя консоль в Chrome, она говорит, что не может найти функцию javascript или что-то еще: «неожиданный ReferenceError: [имя_функции] не определен. OnClick.» Я вызываю funciton кнопкой. Это работает, если я удаляю комментарии этих переменных. Что происходит? – 2014-09-28 12:09:36