2013-03-06 3 views
2
<select id="ChangeViewId" onChange="changeView(this)"></select> 

    function setView() { 
..................... 
    var innerCode = ''; 
    for(i=0; i<viewList.length; i++) {      
     innerCode += "<option value="+viewList[i]+">"+viewList[i]+"</option>"; 
    } 
     document.getElementById("ChangeViewId").innerHTML=innerCode; 
    } 

function changeView(view) 
    {  
     alert(document.getElementById('ChangeViewId').value); 
    } 

Значения C, Cpp, Java-программа. когда я выбираю Java-программу, только Java показывает, что мне нужна полная Java-программа. Я пробовал использовать как onSelect, так и onClick Пожалуйста, помогите мне.HTML получить значение опции в javascript

ответ

3

Скрипт генерирует этот HTML:

<option value=Java program>Java program</option> 

То есть, вариант тега, который имеет значение "Java" и "программы" собственность. Вам нужно добавить котировки вокруг значения:

innerCode += '<option value="'+viewList[i]+'">'+viewList[i]+"</option>"; 
+0

Как правило, хорошая практика заключать ваши строки Javascript в одинарные кавычки, так что вы можете легко писать html-разметку. – sweetamylase

-1

Это должно сделать это

function setView() 
{ 
    var innerCode = ''; 
    for(i=0; i< viewList.length; i++) 
    {      
     innerCode += '<option value="'+viewList[i]+'">' + viewList[i] + '</option>'; 
    } 

    document.getElementById("ChangeViewId").innerHTML=innerCode; 
} 

function changeView(view) 
{  
    var objSel = document.getElementById('ChangeViewId'); 
    alert(objSel.options[objSel.selectedIndex].value); 
} 
+0

Это не работает. – 2013-03-06 09:23:13

+0

Я обновил пример, в котором вам понадобилось другое исправление, а также – Dreamwalker

+0

Я изменил способ, которым вы получили предупреждение, так как вы не указали версию HTML, это должно работать 3.2 вверх – Dreamwalker

Смежные вопросы