Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [jQuery] Zdarzenie on click działa "po", bootstrap
orideith
post
Post #1





Grupa: Zarejestrowani
Postów: 72
Pomógł: 1
Dołączył: 21.07.2006

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


Witam Was,
mam taki działający kod
  1. <div class="control-group">
  2. <div class="controls">
  3. <div class="input">
  4. <div class="btn-group" data-toggle="buttons-checkbox">
  5. <button class="btn" value="1">C</button>
  6. <button class="btn" value="2">M</button>
  7. </div>
  8. </div>
  9. </div>
  10. </div>
  11. $(function() {
  12. return $('body').on('click', '[data-toggle=buttons-checkbox]', function() {
  13. var id;
  14. id = $(this).data(id);
  15. return $(this).find('.btn').each(function() {
  16. var val;
  17. if ($(this).hasClass('active')) {
  18. val = $(this).val();
  19. } else {
  20. val = 0;
  21. }
  22. return console.log(val);
  23. });
  24. });
  25. });
  26.  


demo: http://jsfiddle.net/naUtc/

jak nacisnę C to konsola mi daje 1 0 jak M to konsola daje mi 1 2 ogólnie działa ok.
Teraz chciałem na swojej www tak zrobić, nie mam jej jeszcze on-line dlatego powstał ten wątek.
Kod na www też działa ale jak nacisnę C to mam 0 0 na konsoli a jak przycisk "odcisne" to dopiero pojawia się 1 0, dopiero jak klasa active zostaje zdjęda z przycisku.
Co może być tego przyczyną, kiedyś tak miałem gdzieś indziej i znalazłem rozwiazanie ale teraz nie mogę sobie w żaden sposób przypomnieć.

Dodam, że na stronie poza jquery, bootstrap.min.js i tego skryptu nic nie ma z js

Będę wdzięczny za pomoc.

Pozdrawiam

Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 1)
zegarek84
post
Post #2





Grupa: Zarejestrowani
Postów: 1 332
Pomógł: 294
Dołączył: 12.10.2008
Skąd: Olkusz

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


pokaż kolejność załączania skryptów na swojej stronie - musisz przekopiować fragment strony html ze skryptami choćby bez reszty - nie masz identycznie jak na podanym przykładzie... w pierw myślałem, że bootstrap późno się inicjiuje, zerknąłem na opcję i js masz po "onload", zmieniłem na "no wrap in head" i dalej działa i jest ten skrypt załączany jako ostatni, musisz ten skrypt załączać wcześniej bądź korzystać nie poprawnie z innych bibliotek typu "require" gdzie skrypty dołączane dynamicznie są zazwyczaj tak jakby z atrybutem asynchronicznym więc mogą się wczytać wcześniej...

skrót $(funkcja) odpala się po "domReady", a nie tak jak wybrałeś na jsfiddle po "onLoad" (czyli później ;p)... dawno też nie pisałem w JS i choć wiedziałem, że zdarzenia w jQ przepisali pod .on to nie wiedziałem, że sprawdzają zwróconą wartość i jeśli funkcja to ją odpalają ;p trochu dziwnie i śmiesznie to wygląda ;p
Go to the top of the page
+Quote Post

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: 22.08.2025 - 22:05