funcion no funciona dentro de field_wrapper
Publicado por Eduardo (186 intervenciones) el 18/09/2022 01:30:00
hola a todos tengo al siguiente consulta que no he podido resolver
tengo el siguiente formulario
que es un simple formulario con la partucularidad que trae consigo un boton para adicionar juego de campos de manera dinamica.
ahora bien para lograr adicionar estos campos se llama a esta funcion js
en eso no tengo problema el promebla es que si se fijan en los campos del formulario que esta tiene un elemento que va multiplicando los campos es decir llama a esta funcion js
y funciona perfecto en los primeros de campos que aparecen no dinamicos... hace la multiplicacion sin problemas
el problema es que esta no funciona en el segundo juego de campos creado o en los siguientes crerados dinamicamente... he puesto la funcion calc dentro del script y nada no se como hacer paar que alli tambien funcione..
mil gracias
tengo el siguiente formulario
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<table width="448" border="0" cellpadding="0" cellspacing="0">
<tr>
<td width="123"><input name="repuesto_repuesto[]" type="text" class="form-control-file" id="repuesto_repuesto" size="20"/></td>
<td width="32"><input onChange="calc()" name="cantidad_repuesto[]" type="text" class="form-control-file" id="cantidad_repuesto" size="2"/><input id="select" type="hidden" value="*"></td>
<td width="89"><input name="proveedor_repuesto[]" type="text" class="form-control-file" id="proveedor_repuesto" size="14"/></td>
<td width="80"><input name="nitproveedor_repuesto[]" type="text" class="form-control-file" id="nitproveedor_repuesto" size="12"/></td>
<td width="75"><input onChange="calc()" name="valoruni_repuesto[]" type="text" class="form-control-file" id="valoruni_repuesto" size="8"/></td>
<td width="49"><input name="valortotal_repuesto[]" type="text" class="form-control-file" id="valortotal_repuesto" size="8"/>
</td>
</tr>
</table>
</div>
</div>
<a href="javascript:void(0);" style='color:blue' class="add_button"><span class="kk">+ Repuesto</span></a></td>
</tr>
que es un simple formulario con la partucularidad que trae consigo un boton para adicionar juego de campos de manera dinamica.
ahora bien para lograr adicionar estos campos se llama a esta funcion js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<script type="text/javascript">
$(document).ready(function(){
var maxField = 20; //Input fields increment limitation
var addButton = $('.add_button'); //Add button selector
var wrapper = $('.field_wrapper'); //Input field wrapper
var fieldHTML = '<div><table width="459" border="0" cellpadding="0" cellspacing="0"><tr><td width="123"><input name="repuesto_repuesto[]" type="text" class="form-control-file" id="repuesto_repuesto" size="20"/></td><td width="32"><input onChange="calc()" name="cantidad_repuesto[]" type="text" class="form-control-file" id="cantidad_repuesto" size="2"/><input id="select" type="hidden" value="*"></td><td width="89"><input name="proveedor_repuesto[]" type="text" class="form-control-file" id="proveedor_repuesto" size="14"/></td><td width="80"><input name="nitproveedor_repuesto[]" type="text" class="form-control-file" id="nitproveedor_repuesto" size="12"/></td><td width="75"><input onChange="calc()" name="valoruni_repuesto[]" type="text" class="form-control-file" id="valoruni_repuesto" size="8"/></td><td width="60"><input name="valortotal_repuesto[]" type="text" class="form-control-file" id="valortotal_repuesto" size="8"/></td><a href="javascript:void(0);" style="color: blue; float:right;" class="remove_button" title="Remove field">X</a></table></div>'; //New input field html
var x = 1; $(addButton).click(function(){
if(x < maxField){ //Check maximum number of input fields
x++; //Increment field counter
$(wrapper).append(fieldHTML); // Add field html
}
});
$(wrapper).on('click', '.remove_button', function(e){ //Once remove button is clicked
e.preventDefault();
$(this).parent('div').remove(); //Remove field html
x--; //Decrement field counter
});
});
</script>
en eso no tengo problema el promebla es que si se fijan en los campos del formulario que esta tiene un elemento que va multiplicando los campos es decir llama a esta funcion js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<script>
function calc() {
var cantidad_repuesto = document.getElementById("cantidad_repuesto").value;
var valoruni_repuesto = document.getElementById("valoruni_repuesto").value;
var select = document.getElementById("select").value;
var valortotal_repuesto = document.getElementById("valortotal_repuesto");
valortotal_repuesto.value = parseInt(cantidad_repuesto) * parseInt(valoruni_repuesto);
}
</script>
y funciona perfecto en los primeros de campos que aparecen no dinamicos... hace la multiplicacion sin problemas
el problema es que esta no funciona en el segundo juego de campos creado o en los siguientes crerados dinamicamente... he puesto la funcion calc dentro del script y nada no se como hacer paar que alli tambien funcione..
mil gracias
Valora esta pregunta


0