
No se cambia el id y name de un array de elementos de formulario con jquery
Publicado por Matías (3 intervenciones) el 10/12/2023 04:21:50
Tengo un sitio para gestión de un sindicato desarrollado con cakephp, en el tengo una vista donde registro el recibo por el pago de los aportes de una empresa, en esta vista permito la eliminación de uno o varios períodos de los aportes, pero cuando elimino un período menor al máximo no se cambia el nombre ni el id del elemento de formulario.
Este es el código del jquery que hace la eliminación y trata de cambiar el nombre e id de los elementos de formulario:
¿Cómo puedo solucionar este problema?
Este es el código del jquery que hace la eliminación y trata de cambiar el nombre e id de los elementos de formulario:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
$(function(){
$('#eliminar').click(function(){
var primero = 0;
$('.amount').each(function(index){
if($('#check-eliminar-'+index).prop('checked')){
if(primero == 0) primero = index;
$('#fila-'+index).children(index).remove();
$('#fila-'+index).remove();
}
});
const formato = new Intl.NumberFormat('en-US', {
useGrouping: false,
maximumFractionDigits: 2,
minimumFractionDigits: 2
});
var sum = 0;
$('.amount').each(function(){
sum += Number($(this).val());
});
$('#total').val(formato.format(sum));
var ultima_tabla = <?= $j ?>;
for(var i = 0; i < ultima_tabla; i++){
if(!existen_registros($('#tabla-'+i))){
$('#fila-r-'+i).remove();
$('#fila-p-'+i).remove();
}
}
var name_amount = "", name_concept = "", name_contribution = "", name_join_data = "", name_reference = "", id_amount = "", id_concept = "", id_contribution = "",
id_join_data = "", id_reference = "", ultimo = $(".amount").length;
if(primero < ultimo){
var j = 0;
$('.amount').each(function(index){
if(typeof($('#amount-'+i)) == "object"){
name_amount = "contributions_receipts["+j+"][amount]";
name_check_eliminar = "eliminar["+j+"]";
name_concept = "contributions_receipts["+j+"][concept_id]";
name_contribution = "contributions_receipts["+j+"][contribution_id]";
name_join_data = "contributions["+j+"][_joinData][id]";
name_reference = "contributions_receipts["+j+"][reference]";
id_amount = "amount-"+j;
id_check_eliminar = "check-eliminar-"+j;
id_concept = "concept-"+j;
id_contribution = "contribution-"+j;
id_join_data = "join-data-"+j;
id_reference = "reference-"+j;
$("#amount-"+index).attr("name", name_amount);
$("#amount-"+index).attr("id", id_amount);
$("#check-eliminar-"+index).attr("name", name_check_eliminar);
$("#check-eliminar-"+index).attr("id", id_check_eliminar);
$("#concept-"+index).attr("name", name_concept);
$("#concept-"+index).attr("id", id_concept);
$("#contribution-"+index).attr("name", name_contribution);
$("#contribution-"+index).attr("id", id_contribution);
$("#join-data-"+index).attr("name", name_join_data);
$("#join-data-"+index).attr("id", id_join_data);
$("#reference-"+index).attr("name", name_reference);
$("#reference-"+index).attr("id", id_reference);
j++;
}
});
}
});
})
Valora esta pregunta


0