Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [JQuery] Checkbox reaguje tylko dla pierwszego attr
KotWButach
post
Post #1





Grupa: Zarejestrowani
Postów: 361
Pomógł: 10
Dołączył: 8.02.2012

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


No i mi głupio ale muszę was prosić o jeszcze jedną podpowiedź.

Mam taki kod. Jednak checkbox działa tylko za pierwszym zaznaczeniem i odznaczeniem potem już niestety nie reaguje (IMG:style_emoticons/default/sad.gif)

  1. $(".edit li:nth-child(1)").click(function() {
  2. $('input[type=checkbox]').attr('checked', false); // zmiana
  3. alert();
  4. $('input[type=checkbox]').attr('checked', true); // zmiana
  5. alert();
  6. $('input[type=checkbox]').attr('checked', false); // nie zmienia stanu
  7. alert();
  8. $('input[type=checkbox]').attr('checked', true); // nie zmienia stanu
  9. alert();
  10.  
  11. return false;
  12. });
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
by_ikar
post
Post #2





Grupa: Zarejestrowani
Postów: 1 798
Pomógł: 307
Dołączył: 13.05.2009
Skąd: Gubin/Wrocław

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


Bo jquery attr działa trochę "magicznie" do wersji 1.6. I jak masz powiedzmy textarea w którym masz atrybut value:

  1. <textarea value="test"></textarea>


To jak użyłeś takiego kodu jquery:

Kod
console.log($('textarea ').attr('value'))


to do wersji 1.6 w konsoli mogłeś zobaczyć pusty string, ponieważ jqury pobierało wartość tą, która znajdowała się pomiędzy textarea, zamiast pobierać wartość z atrybutu. A całość ma swoje podłoże w różnicy między właściwościami znacznika, a jego atrybutami. Tak przykładowo:

  1. <input type="checkbox" checked>
  2. <input type="checkbox" checked="checked">


oba checkboxy będą zaznaczone, bo checkbox z samym checked jest właściwością znacznika, i nie pobierzesz jego wartości poprzez attr, z kolei checkbox z wartością jest już atrybutem. No wprowadzało (i nadal wprowadza, bo wielu ludzi korzysta z starej wersji jquery) wiele zamieszania i tworzyło niepotrzebną magię..

Ten post edytował by_ikar 2.07.2014, 15:46:14
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 14.10.2025 - 06:33