Hola, ps muy fácil si no le entiendes ps me dices pero te la trate de explicar con comentarios:
js:
Código javascript
:
Ver originalfunction fnc(th) {
var conten = document.getElementById('contenedor'); //El div que va a tener los inputs
var i = conten.getElementsByTagName('input').length || 0; //El numero de input que ya tiene, si no es 0
var num = Number(th.options[th.selectedIndex].text) || 0; //El numero de seleccion
if (num > i) { //si el numero es mas grande que la cantidad de inputs
for (; i < num; i++) {
var input = document.createElement('input'); //Lo creamos
input.type = 'text';
input.name = '_' + i; //El name del input segun su numero
input.value = th.options[i + 1].text; //El texto que va a tener el input
conten.appendChild(input); //Lo agregamos al contenedor
}
} else if (i > num) { //si hay mas inputs que el num de la selecion
for (; i > num; i--) {
conten.removeChild(conten.childNodes[i]); //Los borramos de mayor a menor
}
}
};
y lo pruebaz con este
html:
Código HTML:
<select onchange="fnc(this);">
<option value="0" />-
<option value="uno" />1
<option value="dos" />2
<option value="tres" />3
<option value="cuatro" />4
<option value="cinco" />5
<option value="seis" />6
<option value="siete" />7
<option value="ocho" />8
<option value="nueve" />9
<option value="diez" />10
</select>
<div id="contenedor">
</div>
ps eso fue lo que entendi y ps ve una documentación acerca del
DOM, esta es muy buena te dejo el link
http://mundogeek.net/archivos/2004/0...-de-documento/
se puede optimizar la función pero esa seria la base de lo que quieres hacer
bueno espero que te ayude
saludOs
:D