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

Porownywanie value inputa do dataset

VPS Starter Arubacloud
0 głosów
181 wizyt
pytanie zadane 27 kwietnia 2018 w JavaScript przez Apper97 Obywatel (1,380 p.)

Siema! Mam zadanie w ktorym chodzi o to, ze jesli uzytkownik wpisze w inputa dana wartosc ktora bedzie rowna wartosci przechowywanej w data-set ktora  ma obrazek, to dany obrazek zwiekszy sie, lub cos sie z nim stanie. 

html:

<div id="gallery">
    <img data-tag="baseball,sport,people" src="images/1.jpeg">
    <img data-tag="bike,people" src="images/2.jpeg">
    <img data-tag="motorbike,sport,people" src="images/3.jpeg">
    <img data-tag="people" src="images/4.jpeg">
    <img data-tag="people,nightlife" src="images/5.jpeg">
    <img data-tag="nightlife" src="images/6.jpeg">
</div>

js:

showBtn.addEventListener("click", function(){
var abc = tagInput.value;
tagInput.value = "";
for(var i = 0; i < allImg.length; i++) {
    var ddd = allImg[i];
    var dataTag = allImg[i].dataset.tag;
    var currentTag = tagInput.value;
    if(abc.indexOf(dataTag)) {
        console.log("bingo");
    } else {
        console.log("klapa");
    }
}
});

niestety ten if nie spelnia warunkow, cos jest zle. W jakisposob moge dac warunek typu: jezeli vartosc z inputa jest rowna danemu data-tag w img to wykonaj cos?

1
komentarz 27 kwietnia 2018 przez pablop76 VIP (123,340 p.)
Nic nie kumam z tego js. Daj więcej bo tego nie da się przetestować.

1 odpowiedź

0 głosów
odpowiedź 28 kwietnia 2018 przez ShiroUmizake Nałogowiec (46,300 p.)
wybrane 2 maja 2018 przez Apper97
 
Najlepsza

metoda indexof nie zwraca tylko 0,1 ale również -1 do iluś tam. Dlatego to nigdy Ci nie zadziała. Lepiej użyć tak: 

abc.indexOf(dataTag) => 0

 

 

komentarz 28 kwietnia 2018 przez pablop76 VIP (123,340 p.)
To też nie zadziała, bo jeżeli wpiszesz np: "a" to warunek się spełni dla każdego słowa posiadającego samogłoskę "a". indexOf sprawdza na jakiej pozycji znajduje się szukany tekst. Jeżeli go nie znajdzie zwraca -1. Można zmienić stringa w tablice tnąc go w miejscu przecinaka split(',') i dopiero w pętli porównać elementy tablicy i dataset
komentarz 28 kwietnia 2018 przez ShiroUmizake Nałogowiec (46,300 p.)
Zostaje filter.
komentarz 28 kwietnia 2018 przez pablop76 VIP (123,340 p.)

Trochę kombinowałem i spłodziłem to

komentarz 2 maja 2018 przez Apper97 Obywatel (1,380 p.)
dzieki bardzo!

Podobne pytania

+1 głos
1 odpowiedź 270 wizyt
pytanie zadane 19 czerwca 2020 w PHP przez Bakkit Dyskutant (7,600 p.)
0 głosów
2 odpowiedzi 542 wizyt
0 głosów
1 odpowiedź 1,078 wizyt
pytanie zadane 7 października 2016 w JavaScript przez PieroQQ Początkujący (420 p.)

92,980 zapytań

141,943 odpowiedzi

321,189 komentarzy

62,307 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.

Wprowadzenie do ITsec, tom 2

Można już zamawiać tom 2 książki "Wprowadzenie do bezpieczeństwa IT" - będzie to około 650 stron wiedzy o ITsec (17 rozdziałów, 14 autorów, kolorowy druk).

Planowana premiera: 30.09.2024, zaś planowana wysyłka nastąpi w drugim tygodniu października 2024.

Warto preorderować, tym bardziej, iż mamy dla Was kod: pasja (użyjcie go w koszyku), dzięki któremu uzyskamy dodatkowe 15% zniżki! Dziękujemy zaprzyjaźnionej ekipie Sekuraka za kod dla naszej Społeczności!

...