Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [JavaScript]Dynamiczne ukrywanie diva po id
Sklep102
post 22.03.2020, 03:09:23
Post #1





Grupa: Zarejestrowani
Postów: 56
Pomógł: 0
Dołączył: 5.12.2019

Ostrzeżenie: (0%)
-----


Cześć,
Mam pytanie odnośnie tego iż wybieram z bazy danych dane i potrzebuje mieć checkboxa o id rekordu z bazy i tutaj pojawia się problem, poieważ nie jestem wstanie wyświetlić diva jeśli zaznaczę checkboxa

Mam coś takiego
  1.  
  2. <input type="checkbox" onclick="$('#time').attr('dat').style.display=(this.checked==true)? 'block':'none'" > <t>Short</t>
  3.  
  4. <div id="time" dat="<?php echo $new_id; ?>"style="display:none;">...</div>


bład "TypeError: $(...).attr(...).style is undefined"
Go to the top of the page
+Quote Post
trueblue
post 22.03.2020, 09:28:00
Post #2





Grupa: Zarejestrowani
Postów: 6 761
Pomógł: 1822
Dołączył: 11.03.2014

Ostrzeżenie: (0%)
-----


$('#time').attr('dat').style ustawiasz w ten sposób styl dla atrybutu.
Skoro w atrybucie jest id, trzeba tą wartość podstawić jako selektor jQuery i dopiero ustawić styl.


--------------------
Go to the top of the page
+Quote Post
Sklep102
post 22.03.2020, 13:52:58
Post #3





Grupa: Zarejestrowani
Postów: 56
Pomógł: 0
Dołączył: 5.12.2019

Ostrzeżenie: (0%)
-----


  1. $('#time').attr('.dat').style.display=(this.checked==true)? 'block':'none'


Nie wiem w jaki sposób to zrobić niby dodałem " . " jako selektor ale dalej ten sam błąd
Go to the top of the page
+Quote Post
viking
post 22.03.2020, 13:57:33
Post #4





Grupa: Zarejestrowani
Postów: 6 365
Pomógł: 1114
Dołączył: 30.08.2006

Ostrzeżenie: (0%)
-----


$('#time').attr('dat') zwraca zawartość atrybutu czyli $new_id. I koniec. Jak chcesz dalej ukryć to używasz show()/hide() tylko nie na atrybucie a na elemencie https://www.w3schools.com/jquery/jquery_hide_show.asp Do tego nie dawaj własnych atrybutów tylko data-*


--------------------
Go to the top of the page
+Quote Post
Sklep102
post 22.03.2020, 15:03:35
Post #5





Grupa: Zarejestrowani
Postów: 56
Pomógł: 0
Dołączył: 5.12.2019

Ostrzeżenie: (0%)
-----


Dobra poprawmy to.

  1. <input type="checkbox" id="chkPassport" dat="<?php echo $new_id; ?>"> <t>Short</t>
  2.  
  3. <div id="time" style="display:none;"></div>


i teraz tak mam 5 checkbox o id id="chkPassport" ponieważ generuje się automatycznie z bazy. żeby to dzielić wpadłem na pomysł aby do dat przypisać nr z bazy danych i tutaj pojawia się problem jak pobrać atrybut dat gdzie jest nr elementu? tak żebym mógł po zaznaczeniu chcekbox wyświetlić div time?
Go to the top of the page
+Quote Post
viking
post 22.03.2020, 15:10:06
Post #6





Grupa: Zarejestrowani
Postów: 6 365
Pomógł: 1114
Dołączył: 30.08.2006

Ostrzeżenie: (0%)
-----


Przede wszystkim to na stronie może znaleźć się jeden unikalny id.


--------------------
Go to the top of the page
+Quote Post
Sklep102
post 22.03.2020, 15:42:31
Post #7





Grupa: Zarejestrowani
Postów: 56
Pomógł: 0
Dołączył: 5.12.2019

Ostrzeżenie: (0%)
-----


Cytat(viking @ 22.03.2020, 15:10:06 ) *
Przede wszystkim to na stronie może znaleźć się jeden unikalny id.


No okey powiedzmy że unikalny id jest pobierany z bazy danych np. 1, 2 3, 4... w takim razie jak pobrać to id gdy ono jest generowane z bazy danych i teoretycznie nie wiadomo jakie id będzie?
Go to the top of the page
+Quote Post
viking
post 22.03.2020, 15:52:50
Post #8





Grupa: Zarejestrowani
Postów: 6 365
Pomógł: 1114
Dołączył: 30.08.2006

Ostrzeżenie: (0%)
-----


https://jsfiddle.net/hdq0mcaj/
Odpal sobie konsolę przeglądarki i zobacz co wyświetla po zaznaczeniu.


--------------------
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 19.04.2024 - 12:18