Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [JavaScript][JQuery]Zaznaczenie checkboxa
Lirdoner
post 14.02.2013, 12:27:39
Post #1





Grupa: Zarejestrowani
Postów: 500
Pomógł: 1
Dołączył: 29.09.2009

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


Witam, mój kod do zaznaczania i odznaczania checkboxów
[JAVASCRIPT] pobierz, plaintext
  1. $('#zaznacz').click(function() {
  2. $('input[type=checkbox]').attr('checked', true);
  3. });
  4.  
  5. $('#odznacz').click(function() {
  6. $('input[type=checkbox]').attr('checked', false);
  7. });
[JAVASCRIPT] pobierz, plaintext

Problem w tym, że klikam #zaznacz to zaznacza okej, klikam #odznacz to odznacza okej ale jak już klikam znowu #zaznacz to nie ma żadnej reakcji.
Dodam, że w kodzie się zmienia checked="checked" ale nie widać tego wizualnie (w sensie nie pojawia się znak, że checkbox jest zaznaczony)
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
kamil_lk
post 14.02.2013, 12:43:18
Post #2





Grupa: Zarejestrowani
Postów: 325
Pomógł: 33
Dołączył: 31.05.2008

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


Nie znam dobrze jq, ale pamiętam coś przy, którymś projekcie, że miałem problem z ponownym wywołaniem kodu.
Spróbuj tak
[JAVASCRIPT] pobierz, plaintext
  1. $('#zaznacz').live(
  2. 'click' , function() {
  3. $('input[type=checkbox]').attr('checked', true);
  4. });
  5.  
  6. $('#odznacz').live(
  7. 'click', function() {
  8. $('input[type=checkbox]').attr('checked', false);
  9. });
[JAVASCRIPT] pobierz, plaintext


Ten post edytował kamil_lk 14.02.2013, 12:46:31
Go to the top of the page
+Quote Post
Greg0
post 14.02.2013, 12:45:30
Post #3





Grupa: Zarejestrowani
Postów: 264
Pomógł: 54
Dołączył: 31.08.2007
Skąd: Tychy

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


Lub po prostu zamienić funkcję attr() na funkcję prop()
http://jsfiddle.net/uv5r5/

Ten post edytował Greg0 14.02.2013, 12:51:44
Go to the top of the page
+Quote Post
Lirdoner
post 14.02.2013, 12:46:32
Post #4





Grupa: Zarejestrowani
Postów: 500
Pomógł: 1
Dołączył: 29.09.2009

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


Nic z tego, nadal to samo
Zresztą ostatnio czytałem, że live już się nie używa, zamiast tego jest .on ale to także nie załatwia sprawy ;/

Okej, poradziłem sobie trochę inaczej
rozwiązanie:
[JAVASCRIPT] pobierz, plaintext
  1. $('#zaznacz').click(function() {
  2. $('input[type=checkbox]').prop('checked', 'checked');
  3. });
  4.  
  5. $('#odznacz').click(function() {
  6. $('input[type=checkbox]').removeAttr('checked');
  7. });
[JAVASCRIPT] pobierz, plaintext


Dzięki za pomoc wink.gif

Ten post edytował Lirdoner 14.02.2013, 12:50:04
Go to the top of the page
+Quote Post
-Gość-
post 14.02.2013, 12:47:02
Post #5





Goście







Nie używaj live(). Funkcja jest przestarzała i niewspierana.
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: 16.07.2025 - 09:05