2016-05-26 2 views
1

Добрый вечер, я пытаюсь создать «Меню» и хотел бы привязывать действия для каждого элемента меню.bind action to <select>

Я только начал HTML (10млн назад) ...

Так я прочитал, что я ве использовать OnChange = "MyFunction()" Так я пробовал:

<!DOCTYPE html> 
<html> 
<script type="text/javascript"> 
    function Load(obj) { 
    if(obj.value == "X1"){ 
     alert('X1'); 
    } 
    if(obj.value == "X2"){ 
     alert('X2'); 
    } 
    } 
</script> 
<head> 
     <meta charset="utf-8" /> 
     <title>Developper Informations</title> 
</head> 
<body> 
     <form method="post" action="traitement.php"> 
     <label>Langages de programmation : </label> 
     <select onchange="Load()" name="Languages" id="Languages"> 
     <optgroup label="XX1"> 
      <option value="X1">X1</option> 
      <option value="X2">X2</option> 
     </optgroup> 
     </select> 
     </form> 
</body> 
</html> 

Но не будет работать ... я попробовал несколько вариантов ...

+0

Что об этом не работает? Вы видите какие-либо ошибки в консоли? Вы ничего не передаете функции 'Load'. Вы ожидали, что «obj» будет иметь какую-то ценность? –

+0

'onchange = Load()' ничего не передает вашей функции – WillardSolutions

+0

ну, я попробовал Load (element) не будет работать idrk, что делать ... – Raskaya

ответ

4

похоже, что вы должны передать select в качестве параметра Load()

Try: onchange="Load(this)"

Если вы не передадите параметр Load(), то obj будет не определен. Вероятно, ошибки в вашей консоли разработчика (нажмите F12 для просмотра), говоря, что value не существует.

+0

Не получится, это в другом объеме. – rsn

+1

@rsn Да, это будет. 'this' в этом контексте относится к элементу, к которому вы добавляете привязку. В этом случае это элемент '