keniol532 Napisano Maj 8, 2014 Zgłoś Share Napisano Maj 8, 2014 Witam mój problem dotyczy tego ze posiadam formularz z dwoma polami select i chcę aby były one zależne od siebie.<select id="ilosc"><option>100</option><option>250</option></select><select id="rodzaj"><option value="0">A</option><option value="1">B</option></select><script> element = document.getElementById('rodzaj'); if (element.value == '0'){var links = [' tekst 1',' tekst 2',]; }document.getElementById('ilosc').onchange = function(){document.getElementById('test2').innerHTML = links[this.selectedIndex]}document.getElementById('ilosc').onchange();</script> Oraz pole div "test2" w którym jest wyświetlany jest wynik po wyborze w pierwszym select.<div id="test2"></div>Chcę aby wybór w drugim polu select powodował wczytanie innej listy z tekstem. Czyli zamiast:element = document.getElementById('rodzaj'); if (element.value == '0'){var links = [' tekst 1',' tekst 2',]; }wczytywał i na odwrót:element = document.getElementById('rodzaj'); if (element.value == '1'){var links = [' tekst 2',' tekst 3',]; }Chodzi mi mniej więcej o cos takiego. Będę bardzo wdzięczny za pomoc. Link do komentarza Udostępnij na innych stronach More sharing options...
yojc Napisano Maj 9, 2014 Zgłoś Share Napisano Maj 9, 2014 Nie jestem pewien czy dobrze zrozumiałem polecenie, ale czy chodziło o coś takiego:function changeText(i) { var rodzaj = document.getElementById('rodzaj'); var ilosc = document.getElementById('ilosc'); if (rodzaj.value == '0'){ var links = [ ' tekst 1', ' tekst 2', ]; } else if (rodzaj.value == '1'){ var links = [ ' tekst 2', ' tekst 3', ]; } document.getElementById('test2').innerHTML = links[ilosc.selectedIndex];}document.getElementById('ilosc').onchange = changeText;document.getElementById('rodzaj').onchange = changeText;changeText(); Link do komentarza Udostępnij na innych stronach More sharing options...
keniol532 Napisano Maj 9, 2014 Autor Zgłoś Share Napisano Maj 9, 2014 Potrzebuje głównie pomocy jak zrobić aby wysłać z:<select id="rodzaj"><option value="0">A</option><option value="1">B</option></select>informację do:element = document.getElementById('rodzaj'); if (element.value == '0'){var links = [' tekst 1',]; } if (element.value == '1'){var links = [' tekst 2',]; }wyświetla mi tylko dla wartości 0, zmiana na <option value="1">B</option> nie powoduje wyświetlenia tekstu 2 Link do komentarza Udostępnij na innych stronach More sharing options...
yojc Napisano Maj 9, 2014 Zgłoś Share Napisano Maj 9, 2014 Nie powoduje, bo wybrany element pola 'rodzaj' sprawdzasz tylko na początku, a musisz przy każdym wywołaniu onchange. Czyli to co podałeś wyżej przenieś do funkcji która się wywołuje przy onchange. Link do komentarza Udostępnij na innych stronach More sharing options...
keniol532 Napisano Maj 9, 2014 Autor Zgłoś Share Napisano Maj 9, 2014 Wiedziałem ze to błache tylko wczoraj już tak siedziałem z pół dnia i zupełnie nie myślałem. wielkie dzięki Link do komentarza Udostępnij na innych stronach More sharing options...