Chci, aby se můj formulář rozšířil různými způsoby v závislosti na výběru rozevíracího pole.
Mám zapnutý JavaScript, takže při změně mého výběru něco provede. Ale snažím se použít appendTo()
metoda, kterou jsem použil dříve; pro přidání jednoho vstupu, pro práci při implementaci div a několika vstupů. Nefunguje, proto ten příspěvek 😉
Takže jsem doufal, že byste mi mohli vysvětlit lepší metodu?
Zde je můj aktuální kód (s laskavým svolením Marka):
var selectmenu = document.getElementById("type"); selectmenu.onchange = function() { var chosenoption = parseInt(this.options[this.selectedIndex].value); switch (chosenoption) { case 1: $('<input type="text" value="1"/>').appendTo('#temp'); break; case 2: $('<input type="text" value="2"/>').appendTo('#temp'); break; case 3: $('<input type="text" value="3"/>').appendTo('#temp'); break; } };
poznámka:aktualizováno od odpovědí.
zde je vytvořen v jsfiddle
Momentálně nedělá nic.
Prosím pomozte? 😀
Odpověď
Myslím, že hodnota, kterou se snažíte použít, je řetězec, nikoli číslo
zkuste toto
$(document).ready(function(){ $('#type').change(function() { if( $(this).val() != "nothing" ){ switch ($(this).val()) { case "1": $('<input type="text" value="item 1" />').appendTo('#temp'); break; case "2": $('<input type="text" value="item 2" />').appendTo('#temp'); break; case "3": $('<input type="text" value="item 3" />').appendTo('#temp'); break; } }else{ alert($(this).val()); } }); })