Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [JavaScript]Jquery Tabela i funkcja if, Proste ale ja się uczę :)
Randallmaster
post 17.01.2013, 11:39:06
Post #1





Grupa: Zarejestrowani
Postów: 677
Pomógł: 11
Dołączył: 18.11.2009

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


próbuję stworzyć tabelę w jquery generowaną z formularza. Generalnie wychodzi mi sumowanie:

  1. var vat_stawka= $('#tabela select[name*=vat]');
  2. console.log(vat_stawka)
  3. vat_licz=vat_stawka.length;
  4.  
  5. for(i=0;i<vat_licz;i++) vat_stawka_pokaz+=Number($(vat_stawka[i]).val());


później tylko i wyłącznie próbuję wykonać taką funkcję if, problem pojawia się gdy mam 2 wartości vat ponieważ val() mi sumuje.

  1. ($('#stawka').val() == '23') ? $("#vat_23").css("display", "block") : $("#vat_23").css("display", "none");
  2. ($('#stawka').val() == '8') ? $("#vat_8").css("display", "block") : $("#vat_8").css("display", "none");


Ten post edytował Randallmaster 17.01.2013, 11:40:53
Go to the top of the page
+Quote Post
skowron-line
post 17.01.2013, 12:05:45
Post #2





Grupa: Zarejestrowani
Postów: 4 340
Pomógł: 542
Dołączył: 15.01.2006
Skąd: Olsztyn/Warszawa

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


Nie bardzo rozumie pytanie.

[JAVASCRIPT] pobierz, plaintext
  1. $("#vat_23").css("display", ($('#stawka').val() == '23') ? "block", "none");
[JAVASCRIPT] pobierz, plaintext

jak robisz tak
[JAVASCRIPT] pobierz, plaintext
  1. ($('#stawka').val() == '23') ? $("#vat_23").css("display", "block") : $("#vat_23").css("display", "none");
[JAVASCRIPT] pobierz, plaintext

to przynajmniej $("#vat_23") przypisz do zmiennej, bo to nie wpływa dobrze na optymalizacje.


--------------------
I'm so fast that last night I turned off the light switch in my hotel room and was in bed before the room was dark - Muhammad Ali.
Peg jeżeli chcesz uprawiać sex to dzieci muszą wyjść, a jeżeli chcesz żeby był dobry ty też musisz wyjść - Al Bundy.

QueryBuilder, Mootools.net, bbcradio1::MistaJam
http://www.phpbench.com/
Go to the top of the page
+Quote Post
Randallmaster
post 17.01.2013, 12:28:30
Post #3





Grupa: Zarejestrowani
Postów: 677
Pomógł: 11
Dołączył: 18.11.2009

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


Mam taką tabelę:

towar vat
mleko 23
chrupki 8


Z wyżej podanej tabeli potrzebuję pobrać terac wartości vat czyli mam 8 i 23 po czym włączają się divy vat_8 i vat_23, jeśli mamy taką tabelę

towar vat
mleko 23

to włącza się tylko div vat_23

Kod:

http://jsfiddle.net/2zabK/1/

Ten post edytował Randallmaster 17.01.2013, 12:35:47
Go to the top of the page
+Quote Post
skowron-line
post 17.01.2013, 12:50:51
Post #4





Grupa: Zarejestrowani
Postów: 4 340
Pomógł: 542
Dołączył: 15.01.2006
Skąd: Olsztyn/Warszawa

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


Jeżeli będziesz sumował w pętli stawkę vat i dodasz do siebie 23 + 8 to raczej nigdy te warunki Ci się nie spełnią.
Przypisz sumę do tablicy gdzie kluczem będzie wartość stawki vat
[JAVASCRIPT] pobierz, plaintext
  1. var vat = new Array();
  2. vat[8] = 0;
  3. vat[23] =0;
[JAVASCRIPT] pobierz, plaintext

i na końcu sprawdzaj czy wartość danego elementu jest większa od zera i na tej podstawie wyświetlaj konkretną informację.


--------------------
I'm so fast that last night I turned off the light switch in my hotel room and was in bed before the room was dark - Muhammad Ali.
Peg jeżeli chcesz uprawiać sex to dzieci muszą wyjść, a jeżeli chcesz żeby był dobry ty też musisz wyjść - Al Bundy.

QueryBuilder, Mootools.net, bbcradio1::MistaJam
http://www.phpbench.com/
Go to the top of the page
+Quote Post
Randallmaster
post 17.01.2013, 12:54:35
Post #5





Grupa: Zarejestrowani
Postów: 677
Pomógł: 11
Dołączył: 18.11.2009

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


Cytat(skowron-line @ 17.01.2013, 12:50:51 ) *
Jeżeli będziesz sumował w pętli stawkę vat i dodasz do siebie 23 + 8 to raczej nigdy te warunki Ci się nie spełnią.
Przypisz sumę do tablicy gdzie kluczem będzie wartość stawki vat
[JAVASCRIPT] pobierz, plaintext
  1. var vat = new Array();
  2. vat[8] = 0;
  3. vat[23] =0;
[JAVASCRIPT] pobierz, plaintext

i na końcu sprawdzaj czy wartość danego elementu jest większa od zera i na tej podstawie wyświetlaj konkretną informację.


Dobrze tylko jest mały problem ponieważ np pozycji vat[23] mogę mieć np 3 a vat[8] ze 2 ponieważ tabela jest dynamiczna, a to co podałeś tyczy się jednego 23 i jednego 8 dobrze rozumiem?

Dlatego pobieram dane vat_stawka_pokaz

Ten post edytował Randallmaster 17.01.2013, 12:58:53
Go to the top of the page
+Quote Post
skowron-line
post 17.01.2013, 13:03:23
Post #6





Grupa: Zarejestrowani
Postów: 4 340
Pomógł: 542
Dołączył: 15.01.2006
Skąd: Olsztyn/Warszawa

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


Źle rozumiesz, w pętli przejedz sobie po każdym wierszu i sprawdz sobie jaka jest wartość vat
[JAVASCRIPT] pobierz, plaintext
  1. for(...) // tu po każdym TR jeżdzisz
  2. {
  3. // tu wyciagasz konkretny selecte vat
  4. if(vat.val() == '23')
  5. {
  6. vat['23'] += wartosc_vat;
  7. }
  8. }
[JAVASCRIPT] pobierz, plaintext


--------------------
I'm so fast that last night I turned off the light switch in my hotel room and was in bed before the room was dark - Muhammad Ali.
Peg jeżeli chcesz uprawiać sex to dzieci muszą wyjść, a jeżeli chcesz żeby był dobry ty też musisz wyjść - Al Bundy.

QueryBuilder, Mootools.net, bbcradio1::MistaJam
http://www.phpbench.com/
Go to the top of the page
+Quote Post
Randallmaster
post 17.01.2013, 14:41:00
Post #7





Grupa: Zarejestrowani
Postów: 677
Pomógł: 11
Dołączył: 18.11.2009

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


Udało mi się zrobić tablicę ale dlaczego mi podmienia display....

http://jsfiddle.net/2zabK/7/

Ten post edytował Randallmaster 17.01.2013, 14:41:11
Go to the top of the page
+Quote Post
nospor
post 17.01.2013, 15:26:23
Post #8





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Ukrywasz/chowasz zawsze niezależnie czy to 23/8 czy nie. To jest błąd.

Akcję ukrywania/pokazywania masz robić dopiero wtedy, gdy jest 23/8. W przeciwnym wypadku bedziesz miał tak jak teraz - czyli źle smile.gif

Zauważ, że ostatnim elementem jest stawka 8. Wówczas warunek na 23 ci się nie spelnia i Ty chowasz 23 - bład jest dość logiczny.


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
Randallmaster
post 23.01.2013, 11:53:08
Post #9





Grupa: Zarejestrowani
Postów: 677
Pomógł: 11
Dołączył: 18.11.2009

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


Powyżej źle wytłumaczyłem temat więc poniżej wyjaśniam dokładnie

Aby dokładnie pokazać wam o co chodzi, musielibyście wykonać po kolei co napisałem :

1. Wejdzcie na tą stronę: http://jsfiddle.net/YK5a9/3/
2. Kliknijcie przycisk "przelicz" (pokazało w podsumowaniu 2 stawki vat 23% i 8%)
3. usuńcie pozycję z vat 8 klikając na przycisk "usun"
4. ponownie kliknij przycisk "przelicz"

no i mam widoczną w podsumowaniu ciągle stawkę vat 8 a nie powinno być jej widać ponieważ zostało w górnym formularzu tylko 23?

Wiem na pewno że problem tkwi w pętli for oraz funkcji if. Myślę że całkowicie źle do tego się zabrałem.

Ten post edytował Randallmaster 23.01.2013, 11:53:26
Go to the top of the page
+Quote Post
nospor
post 23.01.2013, 11:55:20
Post #10





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




W momencie gdy klikasz PRZELICZ, na dzień dobry masz ukryć wszystkie divy z VAT.
Dopiero potem masz robić pętle, która pokazuje tylko zaznaczone VAT...


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
Randallmaster
post 23.01.2013, 11:59:46
Post #11





Grupa: Zarejestrowani
Postów: 677
Pomógł: 11
Dołączył: 18.11.2009

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


Dziękuję

Już zrobione:
http://jsfiddle.net/YK5a9/19/

Temat do zamknięcia.

Pozdrawiam
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: 18.07.2025 - 10:15