• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

pobranie wartości z select2

+1 głos
62 wizyt
pytanie zadane 9 czerwca w JavaScript przez Klaudiaaa Początkujący (350 p.)

Cześć, mam problem z pobraniem wartości z selecta. Chce to zrobić w JavaScript (nie jQuery). Jest wielokrotnie zagnieżdżony i może to tego wina

<div class="form-group">
            <label class="col-sm-3 control-label mapsvg-filter-label">Select country</label>
        <div class="col-sm-9">
            <select name="regions" class="form-control select2-hidden-accessible" style="width: 100%; display: block;" data-parameter-name="regions" tabindex="-1" aria-hidden="true">

                    <option value="" selected="">country</option>
                        <option value="Afganistan">Afganistan</option>
                        <option value="Albania">Albania</option>
                        <option value="Algeria">Algeria</option>

            </select><span class="select2 select2-container select2-container--default select2-container--below" dir="ltr" style="width: 100%;"><span class="selection"><span class="select2-selection select2-selection--single" role="combobox" aria-haspopup="true" aria-expanded="false" tabindex="0" aria-labelledby="select2-regions-go-container"><span class="select2-selection__rendered" id="select2-regions-go-container" title="Russia"><span class="select2-selection__clear">×</span>Russia</span><span class="select2-selection__arrow" role="presentation"><b role="presentation"></b></span></span></span><span class="dropdown-wrapper" aria-hidden="true"></span></span>
        </div>
    </div>
document.getElementsByClassName('.select2-hidden-accessible').onchange = function() {
    console.log(this.value);
}

 

2 odpowiedzi

+2 głosów
odpowiedź 9 czerwca przez SzkolnyAdmin Maniak (50,900 p.)
wybrane 9 czerwca przez Klaudiaaa
 
Najlepsza

Zmień kod JavaScript na:

document.getElementsByClassName('select2-hidden-accessible')[0].onchange = function() {
    console.log(this.value);

 

komentarz 9 czerwca przez Klaudiaaa Początkujący (350 p.)

w konsoli działa ale kiedy wklejam do kodu to mam komunikat:

Uncaught TypeError: Cannot set property 'onchange' of undefined at HTMLDocument

komentarz 9 czerwca przez SzkolnyAdmin Maniak (50,900 p.)
Jak w stosunku do rzeczonego elementu select leży kod JavaScript? Przed nim czy po?
komentarz 9 czerwca przez Klaudiaaa Początkujący (350 p.)
Jest to trochę pokręcone bo ten select jest z pluginu z Wordpressa (MapSVG). Mam swój plik JS i plik JS, który generuje ten plugin. Umieściłam kod w obu miejscach i ten sam błąd.
komentarz 9 czerwca przez SzkolnyAdmin Maniak (50,900 p.)
Z komunikatu wynika, że twój skrypt nie znalazł elementu.
1
komentarz 9 czerwca przez ScriptyChris Mędrzec (152,290 p.)

@Klaudiaaa, możesz to sprawdzić w DOM Inspectorze na wczytanej stronie.

0 głosów
odpowiedź 9 czerwca przez .::VBService::. VIP (104,540 p.)

Spróbuj może tak:

document.querySelector('.select2-hidden-accessible').onchange = function() {
  console.log(this.value);
}

lub

document.querySelector('.select2-hidden-accessible').onchange = ({target}) => {
  console.log(target.value);
}

 

Podobne pytania

0 głosów
0 odpowiedzi 21 wizyt
0 głosów
1 odpowiedź 136 wizyt
pytanie zadane 1 marca 2020 w PHP przez adikpl Użytkownik (660 p.)
0 głosów
1 odpowiedź 164 wizyt
pytanie zadane 1 grudnia 2017 w C# przez BeFree Początkujący (380 p.)
Porady nie od parady
Odznacz odpowiedź zieloną fajką, jeśli uważasz, że jest ona najlepsza ze wszystkich i umożliwiła ci rozwiązanie problemu.Najlepsza odpowiedź

83,606 zapytań

132,261 odpowiedzi

291,761 komentarzy

55,206 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto dwie polecane książki warte uwagi. Pełną listę znajdziesz tutaj.

...