Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [JavaScript]Prosta funkcja
Mackos
post 19.05.2011, 23:38:43
Post #1





Grupa: Zarejestrowani
Postów: 362
Pomógł: 44
Dołączył: 10.06.2009

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


Witajcie, jako że JS u mnie całkowicie leży, mam drobne pytanie.
Aktualnie mam funkcję, która mi wypisuje godziny:
  1. <script type="text/javascript">
  2. function Godzina() {
  3. var godzina = document.getElementById('godzina');
  4. var wartgodz = document.getElementById('wartgodz');
  5. switch (godzina.value) {
  6. case '0' : wartgodz.innerHTML = 'Od godziny: <select name="godzina"><option value=\"$go:00\">$go:00</option><option value=\"$go:30\">$go:30</option></select><br>Do: <select name="godzina2"></option>"; ><option value=\"$go:00\">$go:00</option><option value=\"$go:30\">$go:30</option></select>'; break; // tutaj ładne wypisywanie godzin (wywaliłem stąd PHP żeby było czytelnie)
  7. case 'wyb' : wartgodz.innerHTML = ''; break;
  8. default : wartgodz.innerHTML = 'wartgodz.innerHTML = 'Od godziny: <select name="godzina"><option value=\"$go:00\">$go:00</option><option value=\"$go:30\">$go:30</option></select><br>Do: <select name="godzina2"></option>"; ><option value=\"$go:00\">$go:00</option><option value=\"$go:30\">$go:30</option></select>'; break;'; break; //stad też wywaliłem php
  9. }
  10. }

I sprawa ma się tak, chciałbym żeby w zależności od parametru <select name="godzina"> pokazywało wartości w parametrze godzina2 przesunięte o 3 godziny.
Wie ktoś może jak to poczynić ?


--------------------
WebLemon.pl - projektowanie stron www, reklama i PR w internecie - Adwords, Facebook.
Go to the top of the page
+Quote Post
kamil4u
post 20.05.2011, 14:19:09
Post #2





Grupa: Zarejestrowani
Postów: 2 350
Pomógł: 512
Dołączył: 4.01.2009
Skąd: Wrocław / Świdnica

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


Nie wiem dokładnie co chcesz zrobić smile.gif, ale z tego co zrozumiałem potrzebujesz czegoś takiego:
Kod
<select id="g1">
<option value="1">01.00</option>
<option value="2">02.00</option>
<option value="3">03.00</option>
<option value="4">04.00</option>
<option value="5">05.00</option>
<option value="6">06.00</option>
</select><br>
<select id="g2">
<option value="1">04.00</option>
<option value="2">05.00</option>
<option value="3">06.00</option>
<option value="4">07.00</option>
<option value="5">09.00</option>
<option value="6">09.00</option>
</select>

<script type="text/javascript">
document.getElementById('g1').onchange = function(){
  document.getElementById('g2').value = this.value;
}
</script>


Nie pamiętam tylko, czy zrobienie tego za pomocą element.value = wartosc; jest poprawne... w razie czego szukaj pod hasłem: selectedIndex

I jakby nie chodziło o to(całościowo jako kod) to opisz dokładniej problem.

Ten post edytował kamil4u 20.05.2011, 14:19:52


--------------------
Go to the top of the page
+Quote Post
Mackos
post 20.05.2011, 15:01:11
Post #3





Grupa: Zarejestrowani
Postów: 362
Pomógł: 44
Dołączył: 10.06.2009

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


No prawie, tylko że ten drugi "select" musi być generowany dynamicznie wraz z kliknięciem przez użytkownika danej godziny w godzina 1 musi pokazywać godzine dwa od (wybrana wartość w godzina)+3 do ustalonego przeze mnie X. I trzeba to wpleść jakoś w ten case, ponieważ mam jeszcze warunek ustalony dla różnych dni.


--------------------
WebLemon.pl - projektowanie stron www, reklama i PR w internecie - Adwords, Facebook.
Go to the top of the page
+Quote Post
kamil4u
post 20.05.2011, 19:53:44
Post #4





Grupa: Zarejestrowani
Postów: 2 350
Pomógł: 512
Dołączył: 4.01.2009
Skąd: Wrocław / Świdnica

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


Kod
od
<select id="g1">
<option value="wybierz">wybierz</option>
<option value="1">01.00</option>
<option value="2">02.00</option>
<option value="3">03.00</option>
<option value="4">04.00</option>
<option value="5">05.00</option>
<option value="6">06.00</option>
</select> do <span id="g2"></span>

<script type="text/javascript">
document.getElementById('g1').onchange = function(){
  if(this.value == 'wybierz')
   document.getElementById('g2').innerHTML = '';
  else
   document.getElementById('g2').innerHTML = (parseInt(this.value)+3)+'.00';
}
</script>


Stwierdziłem, że nie ma sensu tworzyć sztucznego select. Jak potrzebujesz tej wartości do formularza użyj <input type="hidden"> - jego wartość zmieniasz:
Kod
document.getElementById('ID_inputa').value = 'wartosc'; //np. (parseInt(this.value)+3)+'.00'


Ten post edytował kamil4u 21.05.2011, 19:12:17


--------------------
Go to the top of the page
+Quote Post
Mackos
post 20.05.2011, 23:02:27
Post #5





Grupa: Zarejestrowani
Postów: 362
Pomógł: 44
Dołączył: 10.06.2009

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


Ok, dzięki właśnie o coś takiego mi chodziło.


--------------------
WebLemon.pl - projektowanie stron www, reklama i PR w internecie - Adwords, Facebook.
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: 19.07.2025 - 04:27