Получить выбранное значение в раскрывающемся списке с помощью JavaScript

Если я правильно понимаю вашу проблему, вы можете получить доступ к кортежу в шаблоне:

<ul>
    {# Assuming {{ field }} here is {{ form.rad }} #}
    {% for choice in field.field.choices %}
    <li>
        <label for="id_{{ field.html_name }}_{{ forloop.counter0 }}">
            <input type="radio"
                id="id_{{ field.html_name }}_{{ forloop.counter0 }}"
                value="{{ choice.0 }}"
                name="{{ field.html_name }}" />
            {{ choice.1 }}
            {% if choice.0 == 'one' %}
                {# Necessary field here #}
                {{ form.bar }}
            {% else %}
                No Textbox
            {% endif %}
        </label>
    </li>
    {% endfor %}
</ul>
1572
задан Steven 10 July 2019 в 15:36
поделиться

3 ответа

Если у вас есть элемент select, который выглядит следующим образом:

<select id="ddlViewBy">
  <option value="1">test1</option>
  <option value="2" selected="selected">test2</option>
  <option value="3">test3</option>
</select>

Выполнение этого кода:

var e = document.getElementById("ddlViewBy");
var strUser = e.options[e.selectedIndex].value;

сделает strUser равным 2 . Если вам действительно нужен test2 , сделайте следующее:

var e = document.getElementById("ddlViewBy");
var strUser = e.options[e.selectedIndex].text;

Что сделает strUser test2

2759
ответ дан 22 November 2019 в 20:09
поделиться

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

1
ответ дан 3 October 2019 в 21:32
поделиться
var strUser = e.options[e.selectedIndex].value;

Это правильно и должно дать вам значение. Это текст, который вам нужен?

var strUser = e.options[e.selectedIndex].text;

Итак, вы понимаете терминологию:

<select>
    <option value="hello">Hello World</option>
</select>

Эта опция имеет:

  • Индекс = 0
  • Значение = привет
  • Текст = Привет, мир
169
ответ дан 22 November 2019 в 20:09
поделиться
Другие вопросы по тегам:

Похожие вопросы: