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

Problem z odczytaniem wartości z buttona

Object Storage Arubacloud
0 głosów
98 wizyt
pytanie zadane 18 kwietnia 2017 w JavaScript przez ThePatrykOOO Dyskutant (8,400 p.)

Witam, mam dosyć niecodzienny problem, tworzę mechanizm lajkowania postów przy użyciu AJAXA, jest niestety mały problem, postów na stronie nie będzie jeden czy dwa ale kilkanaście i nie wiem jak się zabrać do tego od strony JS, otóż chciałbym otrzymać np. z przycisku 2 wartość 2, gdy klikam 2 pokazuje mi się wartość 1

Kod:

<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width">
  <title>JS Bin</title>
</head>
<body>
  <button type="button" class="button" value="1">1</button>
  <button type="button" class="button" value="2">2</button>
<script src="https://code.jquery.com/jquery-3.1.0.js"></script>
</body>
</html>

JQuery

$('.button').click(function () {
  var value = $('.button').val();
  alert(value);
});

JSBin: https://jsbin.com/tesoxajola/edit?html,js,output

1 odpowiedź

0 głosów
odpowiedź 18 kwietnia 2017 przez niezalogowany

Zamiast odczytywac wartosc z jakiegos $('.button'), odczytaj ja z kliknietego elementu: $(this)

komentarz 18 kwietnia 2017 przez ThePatrykOOO Dyskutant (8,400 p.)
dzięki za pomoc :), ja jquery dopiero się uczę
komentarz 18 kwietnia 2017 przez Fenix Nałogowiec (26,750 p.)

A dlaczego to nie działa? $('.button') pobiera kolekcje elementów, dodając event click operujesz na wszystkich elementach które posiadają classe button. A wiec nie możesz pobrać wartości dzieki metodzie val(), ponieważ ona nie działa na tablicy elementów jQuery, tylko pojedyńczym elemencie. $(this) daje Ci referencje do aktualnie kliknietego obiektu jQuery (w tym wypadku), warto przypisać sobie go do zmiennej. 

komentarz 18 kwietnia 2017 przez niezalogowany

 A wiec nie możesz pobrać wartości dzieki metodzie val(), ponieważ ona nie działa na tablicy elementów jQuery, tylko pojedyńczym elemencie. 

jQuer'owa obudówka zawsze jest pseudotablicą - nawet jeśli zawiera tylko jeden element. 

Co do działania val - wystarczy spojrzeć do dokumentacji

Get the current value of the first element in the set of matched elements or set the value of every matched element.

Podobne pytania

0 głosów
0 odpowiedzi 90 wizyt
pytanie zadane 20 czerwca 2019 w JavaScript przez kralcz88 Obywatel (1,810 p.)
0 głosów
0 odpowiedzi 302 wizyt
0 głosów
0 odpowiedzi 86 wizyt
pytanie zadane 27 maja 2019 w C# przez poczatkujacy_pr Nowicjusz (180 p.)

92,570 zapytań

141,422 odpowiedzi

319,643 komentarzy

61,958 pasjonatów

Motyw:

Akcja Pajacyk

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

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...