b00tyCha1n
@b00tyCha1n
Stupidity - key to the answer

Как выводить информацию о выбранном элементе в теге?

Подскажите пожалуйста, как мне выводить всю информацию о элементах выбранного объекта?
626a93c772e96545543348.png
Все, что у меня получается - это при нажатии любого из этих объектов - выводить alert-ом то, что его выбрали. К сожалению я не понимаю, каким образом мне вытащить информацию о адресе, поскольку у каждого элемента есть свой адрес:
class VideoLibrary(models.Model):
    shop_id = models.AutoField(primary_key=True, unique=True)
    shop_name = models.CharField(max_length=264)
    adress = models.TextField(max_length=264, default='')

Это код html:
{% if shop_name %}
    <select name="shops" id="shop_select" class='box'>
      <option value="" disabled selected id='blank_option' onchange='revealMore()' name='select_option'></option>
      {% for library in shop_name %}
      <option id='library_element'>{{library.shop_name}}</option>
      {% endfor %}
    </select>
    {% else %}
      <p>ERROR</p>
    {% endif %}
    <script src={% static 'js/show_more.js' %}></script>

А это код JS:
function revealMore() {
    var blank_text = document.getElementById('blank_option');
    if (this.value !== blank_text) {
        var library = this.value;
        alert(library);
    }
}
document.getElementById('shop_select').addEventListener('change', revealMore);
  • Вопрос задан
  • 38 просмотров
Пригласить эксперта
Ответы на вопрос 1
ThunderCat
@ThunderCat
{PHP, MySql, HTML, JS, CSS} developer
Во первых - есть волшебная штука - консоль, console.log() выдаст вам подробную информацию о любом элементе.

Во вторых - глупо искать черную кошку в темной комнате, особенно если ее там нет. Это к тому, что чтобы получить валуе, его надо бы в шаблоне как-то прописывать, а то оно есть только у дефолтного опшн.

В третьих - в цикле задавать один и тот же ид - вообще шедевр, ид должен быть уникальным для элемента на странице. Два одинаковых ид на странице - уже ошибка хтмл разметки.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы