Как вывести выбранное значение в JavaScript? - PullRequest
0 голосов
/ 29 января 2011
  1. Пользователь Suposse нажимает SPACE в текстовом поле.Я хочу проверить значение в поле выбора.Я использую input.addEventListener('keydown', function(e)... для отслеживания точки удара SPACE, но как мне получить значение блока выбора <select id='topic'><option value="hello"></option> ...</section>?

  2. Как можно вывести значениевыбранный индекс?Не могу понять, почему не ниже.

        var el = document.getElementById("topic");
        var topicValue = el.options[el.selectedIndex].value;
    
        // PROBLEM: Won't do anything (despite inside <script> -tags)
        window.alert(topicValue);
    

, где topic - это выбор <select id="topic"[^>]*>[^<]*</select>.

Ответы [ 2 ]

0 голосов
/ 29 января 2011

События работают в select, не для параметров, а только в зависимости от сценария.

<html>
<body>

<script>
        function alertMe(option){
                if(option == "saab"){
                        window.alert("you clicked saab in selec!");
                        document.getElementById("txt").value='saab!';
                }
        }
</script>


<select onChange="alertMe(this.value);">
  <option value="volvo">Volvo</option>
  <option value="saab">Saab</option>
  <option value="m"> Mercedes</option>
  <option>Audi</option>
</select>

<input type="text" id="txt" value="change me"></input>

</body>
</html>

[Ответы на обновления]

  1. Вы можете получить доступ к выбору с помощью document.getElementById('topic').options.selectedIndex или mySelect.options[selectedIndex].value (не работает со мной). И, очевидно, вы могли бы создать форму, к которой вы могли бы обратиться по document.forms['topic'].elements[id], но не были уверены в этом. Подробнее.
  2. @ Кош, это раздражает! Просто введите dictionary = {0:"topic", 1:"hello",...,n:"topic_{n}"}, а затем используйте getElementById('topic').selectedId в качестве ключа и забудьте о значениях. Не решено, но округлено.

[Обновление] Я думаю, что решил это, просто el.value, нет selectedIndex необходимо:

<html>
<body>

<script>

function printSelectValue()
{
        var el = document.getElementById("selectOne");
        alert(el.value);

}
</script>


<select id="selectOne" onChange="printSelectValue()"> 
<option value="volvo">Volvo</option>
<option value="saab">Saab</option>
<option value="m"> Mercedes</option>
</select>

</body>
</html>
0 голосов
/ 29 января 2011

Есть много событий, на которые вы можете посмотреть.

У них есть список всех из них http://www.w3schools.com/tags/tag_select.asp

onkeydown и onmousedown предупредят вас до события onchange (пользователь нажимает ввод)

...