Skocz do zawartości

Zarchiwizowany

Ten temat jest archiwizowany i nie można dodawać nowych odpowiedzi.

keniol532

zależne input + js

Polecane posty

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

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

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

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



  • Kto przegląda   0 użytkowników

    • Brak zalogowanych użytkowników przeglądających tę stronę.
×
×
  • Utwórz nowe...