I want my form to extend in different ways depending on the selection of a drop down box.
I have got my JavaScript working so that onchanging my selection it will carry out something. But I am trying to use the appendTo() method as I have used before; for adding a single input, to work for implementing a div and a few inputs. Its not working, hence the post 😉
So I was hoping you could enlighten me as to a better method?
Here is my current code (courtesy of Mark):
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;
}
};
note: updated since answers.
here is constructed in jsfiddle
It does nothing currently.
Please help? 😀
Advertisement
Answer
I think value you are trying to case on is a string not a number
try this
$(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());
}
});
})