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

Porownywanie value inputa do dataset

Cloud VPS
0 głosów
282 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,580 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,580 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,580 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ź 374 wizyt
pytanie zadane 19 czerwca 2020 w PHP przez Bakkit Dyskutant (7,600 p.)
0 głosów
2 odpowiedzi 730 wizyt
0 głosów
1 odpowiedź 1,462 wizyt
pytanie zadane 7 października 2016 w JavaScript przez PieroQQ Początkujący (420 p.)

93,483 zapytań

142,417 odpowiedzi

322,763 komentarzy

62,895 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

Kursy INF.02 i INF.03
...