Foros del Web » Programando para Internet » Javascript »

Repetir funcion en varias filas

Estas en el tema de Repetir funcion en varias filas en el foro de Javascript en Foros del Web. Buenas tardes, Necesito repetir la function del combo anidado del siguiente codigo en las filas que se van agregando, se que es con un array ...
  #1 (permalink)  
Antiguo 12/11/2013, 14:36
 
Fecha de Ingreso: mayo-2011
Mensajes: 15
Antigüedad: 13 años
Puntos: 0
Repetir funcion en varias filas

Buenas tardes,

Necesito repetir la function del combo anidado del siguiente codigo en las filas que se van agregando, se que es con un array pero no he logrado hacerlo... alguien que me pueda colaborar, gracias.

<html>
<head>
<script language="javascript" type="text/javascript">
var posicionCampo=2;
function agregarUsuario(){
nuevaFila = document.getElementById("tablaregistro").insertRow (-1);
nuevaFila.id=posicionCampo;
nuevaCelda=nuevaFila.insertCell(-1);
nuevaCelda.innerHTML="<td> <select name='division["+posicionCampo+"]' id='divi"+posicionCampo+"' onchange='CargaCombo();'> <option value=''> </option> <option value='Division 1'>Division 1</option> <option value='Division 2'>Division 2</option> <option value='Division 3'>Division 3</option> </select> </td>";
nuevaCelda=nuevaFila.insertCell(-1);
nuevaCelda.innerHTML="<td> <select name='oco["+posicionCampo+"]' id='oco"+posicionCampo+"'> <option value=''> </option> </select> </td>";
nuevaCelda=nuevaFila.insertCell(-1);

nuevaCelda.innerHTML="<td><input type='button' value='Eliminar' onclick='eliminarUsuario(this); totalesgeneral("+posicionCampo+");'> </td>";
posicionCampo++; }

function eliminarUsuario(obj){ var oTr = obj;
while(oTr.nodeName.toLowerCase()!='tr'){ oTr=oTr.parentNode; }
var root = oTr.parentNode; root.removeChild(oTr); posicionCampo--;}
</script>
</head>
<body >
<table id="tablaregistro">
<TR>
<select name="division[1]" id="divi" onchange="CargaCombo();" >
<option value=""> </option>
<option value="Division 1">Division 1</option>
<option value="Division 2">Division 2</option>
<option value="Division 3">Division 3</option>
</select>
</TR>
<TR>
<select name="oco[1]" id="oco">
<option value=""> </option>
</select>
<TR>

<script type="text/javascript">
var arrOpciones = [
{
"padre" : "Division 1",
"value" : "OCO 148",
"text" : "OCO 148"
},
{
"padre" : "Division 1",
"value" : "OCO 150",
"text" : "OCO 150"
},
{
"padre" : "Division 2",
"value" : "OCO 151",
"text" : "OCO 151"
},
{
"padre" : "Division 2",
"value" : "OCO 167",
"text" : "OCO 167"
},
{
"padre" : "Division 3",
"value" : "OCO 145",
"text" : "OCO 145"
},
{
"padre" : "Division 3",
"value" : "OCO 159",
"text" : "OCO 159"
}
];

var listHijo = document.getElementById("oco");

function LimpiaSelect()
{
while(listHijo.firstChild)
{
listHijo.removeChild(listHijo.firstChild);
}
}

function CreaOption(session)
{
var opcion = document.createElement("option");
opcion.textContent = session.text;
opcion.value = session.value;
return opcion;
}

function CargaCombo()
{
LimpiaSelect();
var seleccion = document.getElementById("divi");
if(!seleccion[0].selected)
{
for(var i = 0; i < arrOpciones.length; i++)
{
var padre = arrOpciones[i].padre;
var validaSeleccion = padre == seleccion[seleccion.selectedIndex].value;

if(validaSeleccion)
{
var opcion = CreaOption(arrOpciones[i]);
listHijo.appendChild(opcion);
}
}
}
}

CargaCombo();
document.getElementById("divi").addEventListener(" change", CargaCombo, false);
</script>
</table>

<td align="left"><INPUT onclick="agregarUsuario()" value="Agregar Registro" type="button"></td>
</body>
</html>

Etiquetas: filas, funcion, html, input, repetir
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 17:12.