![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 496 Pomógł: 2 Dołączył: 15.07.2011 Skąd: Katowice Ostrzeżenie: (0%) ![]() ![]() |
Witam
Mam taki kod java script:
oraz dwa przyciski (jeden do zwiększania wartości w polach a drugi do zmniejszania)
Do tego będzie wiele pól takich:
I teraz tak: Chciałbym aby po kliknięciu na przyciski zwiększały się lub zmniejszały odpowiednio wszystkie pola z wartościami jednocześnie w tym samym czasie. Wydaje mi się że musi być wspólny element ID , czyli o tej samej nazwie ale niestety to nie działa ... proszę o pomoc jak to powinienem rozwiązać dzięki Ten post edytował damianooo 6.10.2011, 15:16:44 |
|
|
![]()
Post
#2
|
|
Grupa: Moderatorzy Postów: 36 559 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Id jak sama nazwa wskazuje ma być UNIKALNE i nie może być kilku elementów o tym samym ID.
Nadaj klasę dla elementów i wyszukuj elementy po klasie a nie po id. Gdybyś używał jQuery to wyszukanie elementów o danym ID sprowadza się do: jQuery('.klasa') |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 496 Pomógł: 2 Dołączył: 15.07.2011 Skąd: Katowice Ostrzeżenie: (0%) ![]() ![]() |
czy mogę prosić o przykład ... bo nie bardzo chyba wiem jak się do tego zabrać ...
czyli rozumiem że mam stworzyć klasę z metodą taką jak mam obecnie funkcje napisaną ... i wówczas odwoływać się w miejscu onclick : onclick=\"sub_zam_2('Elem',5);return false;\" poprzez klasę czyli np. jak klasa ZwiekszZmniejsz to bedzie ZwiekszZmniejsz.sub_zam2 ... lub coś tego typu ... dobrze rozumiem ? P.S. Przepraszam za wysyłanie pytań indywidualnie na skrzynkę. To się nie powtórzy. Proszę jednak o pomoc jeszcze w tym temacie ... dzięki, pozdrawiam |
|
|
![]()
Post
#4
|
|
Grupa: Moderatorzy Postów: 36 559 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
onclick=\"sub_zam_2('KlasaElementu',5);return false;\"
A w funkcji szukasz elementów po klasie i im zmieniasz wartości. Jak szukać napisałem ci wcześniej na przykładzie jQuery |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 496 Pomógł: 2 Dołączył: 15.07.2011 Skąd: Katowice Ostrzeżenie: (0%) ![]() ![]() |
ok mniej więcej chyba kumam jednak po mojej zmianie nie działa .. zastanawiam się czy nie powinienem dodać biblioteki jQuery jeszcze aby to ruszyło ... jednak prosiłbym jeszcze Ciebie o spojrzenie na te zmiany czy właśnie o to chodziło:
Oto cały kod do testu:
ale właśnie , jeśli teraz nie po ID to teraz nie id='Elem$i' tylko ma być class='Elem$i' ? ... hmm ,... nie wiem Ten post edytował damianooo 7.10.2011, 09:35:48 |
|
|
![]()
Post
#6
|
|
Grupa: Moderatorzy Postów: 36 559 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Cytat zastanawiam się czy nie powinienem dodać biblioteki jQuery Historyjka: nospor - wsiądź na rower i jedź do lasu ktoś - ok, fajna rada, ale nie działa.... zastanawiam się czy nie powinienem wpierw zaopatrzyć się w rower, jak myślisz? co do kodu zaś, to s.value nie zadziała. Zainteresuj się w manualu jQuery czyms takim jak each() Przecież ci pisałem, że masz nadać jedną i tą samą klasę dla elementów, bez żadnych $i. I jeszcze co do kodu: nie: s = jQuery('.inn'); a: s = jQuery('.'+inn);
Powód edycji: [nospor]:
|
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 496 Pomógł: 2 Dołączył: 15.07.2011 Skąd: Katowice Ostrzeżenie: (0%) ![]() ![]() |
Chyba jestem już bliżej niż dalej ale jeszcze to nie to ... dokonałem zmian w uwagach które napisałeś ... chyba problem będzie w kodzie javascript ..
nie wiem też czy tylko wystarczy w inpucie dać po prostu: class='Elem' .... Ten post edytował damianooo 7.10.2011, 10:02:39 |
|
|
![]()
Post
#8
|
|
Grupa: Moderatorzy Postów: 36 559 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Kod function add_zam_2 (inn,v) {
s = jQuery('.'+inn); s.each(function(){ var el = jQuery(this); el.val(Number(el.val()) + v); }); } |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 496 Pomógł: 2 Dołączył: 15.07.2011 Skąd: Katowice Ostrzeżenie: (0%) ![]() ![]() |
super ... dzięki za pomoc ... nie wiem tylko czemu w funkcji drugiej czyli: sub_zam_2 w sekcji: if else wykonuje mi ciągle zmniejszanie a wyraźnie zaznaczyłem że jak el.val == v (czyli liczbie początkowej poniżej której nie można schodzić)
|
|
|
![]()
Post
#10
|
|
Grupa: Moderatorzy Postów: 36 559 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Zobacz jak ja używam val a jak ty.
|
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 496 Pomógł: 2 Dołączył: 15.07.2011 Skąd: Katowice Ostrzeżenie: (0%) ![]() ![]() |
ok już wiem (IMG:style_emoticons/default/smile.gif) co robiłem źle el.val to jest funkcja a więc ma być tak: el.val()
całość:
teraz wszystko działa ładnie ... jeszcze raz wielkie dzięki i dzięki za cierpliwość .. pozdro ale ... chyba to jeszcze nie koniec ... całość wygląda tak:
dlaczego w pierwszym polu wartości nie zmniejszają się poniżej wartości podanej , natomiast w dwóch pozostałych maleją (IMG:style_emoticons/default/questionmark.gif) ... |
|
|
![]()
Post
#12
|
|
Grupa: Moderatorzy Postów: 36 559 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Wybacz za pytanie, możesz mnie odebrać jako chama i prostaka, ale muszę:
czy ty myślisz? Dajesz warunek: el.val() == v 5 == 5 tak 4 == 5 tak? 2 == 5 tak? |
|
|
![]()
Post
#13
|
|
Grupa: Zarejestrowani Postów: 496 Pomógł: 2 Dołączył: 15.07.2011 Skąd: Katowice Ostrzeżenie: (0%) ![]() ![]() |
nie nie uznam Ciebie za chama i prostaka domyślam się że ludzie, którzy są w danym temacie prawie całkowicie obeznani mogą reagować tak właśnie ... także luz ...
sprawdziłem dla pewności (IMG:style_emoticons/default/smile.gif) ... w google jak w javascript tworzy się instrukcje warunkowe i zdaje sie że tak jak napisałem ale fakt możliwe że to trochę źle zrealizowałem a więc zrobiłem tak :
i jest lepiej .. jednak nie do końca ponieważ jak zwiększe to już nie zmniejsza mi do wartosci początkowej tylko zostaje przy tej zwiększonej ... |
|
|
![]()
Post
#14
|
|
Grupa: Moderatorzy Postów: 36 559 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Chyba się nie rozumiemy...
dałeś warunek porównania 4==5 i się dziwisz, czemu nie jest sprawdzony... Jesli nie chcesz zmniejszać pól, których wartość jest mniejsza równa 5 to ma być tak 4<=5 |
|
|
![]()
Post
#15
|
|
Grupa: Zarejestrowani Postów: 496 Pomógł: 2 Dołączył: 15.07.2011 Skąd: Katowice Ostrzeżenie: (0%) ![]() ![]() |
ok fakt ... ale jeszcze jedna rzecz której chyba nie wytłumaczyłem na początku ...
tam gdzie jest (chodzi mi o tą wartość "5")
to ma być dla każdego z pól wpisana wartość taka jaka jest w tym polu na początku, czyli - jak jest 5 to ma sie zwiększać o 5 - jak jest 4 to ma się zwiekszac o 4 itd. |
|
|
![]()
Post
#16
|
|
Grupa: Moderatorzy Postów: 36 559 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Znowu nie myślisz..... 4==5 dawałem jak przykład. Ty masz miec el.val() <= v
|
|
|
![]()
Post
#17
|
|
Grupa: Zarejestrowani Postów: 496 Pomógł: 2 Dołączył: 15.07.2011 Skąd: Katowice Ostrzeżenie: (0%) ![]() ![]() |
ale właśnie tak zrobiłem i nie działa (IMG:style_emoticons/default/smile.gif) ... sorry że nie napisałem jak wygląda kod po zmianie, bo wróciłem do wcześniejszej wersji:
a więc tak jest teraz:
Ten post edytował damianooo 7.10.2011, 11:15:20 |
|
|
![]()
Post
#18
|
|
Grupa: Moderatorzy Postów: 36 559 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
el.val() to tekst. Musisz go wpierw zamienic na liczbę, chocby przy pomocy parseInt
|
|
|
![]()
Post
#19
|
|
Grupa: Zarejestrowani Postów: 496 Pomógł: 2 Dołączył: 15.07.2011 Skąd: Katowice Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#20
|
|
Grupa: Moderatorzy Postów: 36 559 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
A zadziałało? No to może być
Nie zadziało? No to nie może być (IMG:style_emoticons/default/tongue.gif) |
|
|
![]()
Post
#21
|
|
Grupa: Zarejestrowani Postów: 496 Pomógł: 2 Dołączył: 15.07.2011 Skąd: Katowice Ostrzeżenie: (0%) ![]() ![]() |
ale musimy w tym miejscu coś zmienic
bo tam cały czas jest liczba 5 w takim razie chyba tą piątkę trzeba będzie wywalić z tamtąd i zrobić wczytywanie jednego tylko parametru |
|
|
![]()
Post
#22
|
|
Grupa: Moderatorzy Postów: 36 559 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
A co ci znowu ta 5 przeszkadza?
|
|
|
![]()
Post
#23
|
|
Grupa: Zarejestrowani Postów: 496 Pomógł: 2 Dołączył: 15.07.2011 Skąd: Katowice Ostrzeżenie: (0%) ![]() ![]() |
chodzi mi o to że nie może być podanej stałej wartości o jaką mają się zwiększać wszystkie wartości w polach
tak jak pisałem ma być tak: - jesli w polu jest wartosć 5 to ma sie zwiekszac wartosc w polu o 5 - jesli w polu jest wartosc 4 to ma sie zwiekszac wartosc w polu o 4 itd. zmieniłem więc tak :
jest lepiej bo teraz pola się zwiekszaja o tyle ile jest wartośc w danym polu podana , jednak jest tak że po zwiekszeniu nie chce wrócić do początkowej wartości .. |
|
|
![]()
Post
#24
|
|
Grupa: Moderatorzy Postów: 36 559 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Cytat jednak jest tak że po zwiekszeniu nie chce wrócić do początkowej wartości .. A teraz przełóż to na polski (IMG:style_emoticons/default/smile.gif) if (Number(el.val()) <= Number(el.val())) Przecież teraz porównujesz liczbę x z liczbą x. One są zawsze równe więc i ten warunek jest zawsze równy i nigdy nie dojdzie do zmniejszenia. |
|
|
![]()
Post
#25
|
|
Grupa: Zarejestrowani Postów: 496 Pomógł: 2 Dołączył: 15.07.2011 Skąd: Katowice Ostrzeżenie: (0%) ![]() ![]() |
chyba będzie problem ponieważ jednak zwiększanie też nie działa tak jak powinno ...
jak zwiększę inputa z wartością 5 o 5 to jak będzie 10 to następnie zwiększa się o 10 a nie dalej o pięć i powstaje taki ciąg: 5,10,20,40 itd .. a ja chcę aby było 5,10,15,20 itd. |
|
|
![]()
Post
#26
|
|
Grupa: Moderatorzy Postów: 36 559 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
No to dla input oprócz value ustawiaj też startvalue i zwiększaj/zmniejszaj o tę wartość.
Zeby dobrać sie do dowolnego parametru masz użyć funkcji attr() - patrz manual jquery |
|
|
![]()
Post
#27
|
|
Grupa: Zarejestrowani Postów: 496 Pomógł: 2 Dołączył: 15.07.2011 Skąd: Katowice Ostrzeżenie: (0%) ![]() ![]() |
hmm startValue ... ale gdzie to ustawić ? ...
|
|
|
![]()
Post
#28
|
|
Grupa: Moderatorzy Postów: 36 559 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
obok value.....
....value="2" startvalue="2".... |
|
|
![]()
Post
#29
|
|
Grupa: Zarejestrowani Postów: 496 Pomógł: 2 Dołączył: 15.07.2011 Skąd: Katowice Ostrzeżenie: (0%) ![]() ![]() |
dodałem tak:
i zmieniłem skrypt tak:
ale chyba źle się dobrałem do funkcji attr() Ten post edytował damianooo 7.10.2011, 12:19:07 |
|
|
![]()
Post
#30
|
|
Grupa: Moderatorzy Postów: 36 559 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
w inpucie dajesz startValue, w kodzie js piszesz startvalue
znajdź 10 różnic startvalue startValue Proszę cię - skup się trochę, bo mi się wkoncu to znudzi. Dodatkowo w kodzie js ma być to tekst, czyli 'startvalue' a nie startvalue |
|
|
![]()
Post
#31
|
|
Grupa: Zarejestrowani Postów: 496 Pomógł: 2 Dołączył: 15.07.2011 Skąd: Katowice Ostrzeżenie: (0%) ![]() ![]() |
ok super jest .... teraz jest wszystko tak jak być powinno ...
myślę, że temat zamknięty ... wprowadzę teraz całość zmian do mojej aplikacji i jeśli będzie mi działać tak jak chciałem to zakończę ten wątek ... jeszcze raz dzięki ok mogę już potwierdzić że działa w mojej aplikacji tak jak powinno ... dzięki pozdrawiam |
|
|
![]() ![]() |
![]() |
Aktualny czas: 7.10.2025 - 11:08 |