Foros del Web » Programando para Internet » Jquery »

Edit row in table

Estas en el tema de Edit row in table en el foro de Jquery en Foros del Web. Hola, Estoy probando este ejemplo, que he visto en Internet para editar filas de una tabla: http://mrbool.com/how-to-add-edit-and-delete-rows-of-a-html-table-with-jquery/26721 Lo he adaptado en base a mis necesidades, ...
  #1 (permalink)  
Antiguo 07/08/2015, 00:37
Avatar de estaisaderezados  
Fecha de Ingreso: noviembre-2010
Ubicación: Madrid
Mensajes: 96
Antigüedad: 14 años
Puntos: 3
Edit row in table

Hola,

Estoy probando este ejemplo, que he visto en Internet para editar filas de una tabla:
http://mrbool.com/how-to-add-edit-and-delete-rows-of-a-html-table-with-jquery/26721

Lo he adaptado en base a mis necesidades, el problema es que tanto cuando doy a nuevo o a modificar, quiero validar que los campos no estén vacíos. En nuevo, al pulsar guardar, me funciona OK, pero al editar y dar a guardar, el alert de validación de campos vacío, se ejecuta varias veces y solo quiero que el alert se lance una vez.

Os pongo el código de la función Salvar, que es donde tengo el quid de la cuestión:

Salvar : function()
{
SI_PROD_ER_NOMB.salvar = false;

var par = $(this).parent().parent(); //tr
par.css("background-color","#fff");
var tdBotoes = par.children("td:nth-child(1)");
var tdField2 = par.children("td:nth-child(2)");
var tdField3 = par.children("td:nth-child(3)");
var tdField4 = par.children("td:nth-child(4)");
var tdField5 = par.children("td:nth-child(5)");
var tdField6 = par.children("td:nth-child(6)");
var tdField7 = par.children("td:nth-child(7)");
var tdField8 = par.children("td:nth-child(8)");
var tdField9 = par.children("td:nth-child(9)");
var tdField10 = par.children("td:nth-child(10)");
var tdField11 = par.children("td:nth-child(11)");
var tdField12 = par.children("td:nth-child(12)");
var tdField13 = par.children("td:nth-child(13)");
var tdField14 = par.children("td:nth-child(14)");

if (SI_PROD_ER_NOMB.op=="add")
{
if (tdField3.children("input[type=text]").val()==''
|| tdField4.children("input[type=text]").val()==''
|| tdField6.children("input[type=text]").val()==''
|| tdField7.children("input[type=text]").val()==''
|| tdField9.children("input[type=text]").val()==''
|| tdField10.children("input[type=text]").val()==''
|| tdField13.children("input[type=text]").val()=='') {
alert("All mandatory fields are not completed");
par.css("background-color","#eee");
SI_PROD_ER_NOMB.salvar = false;
}
else
{
SI_PROD_ER_NOMB.salvar = true;
}
}
else
{
if (SI_PROD_ER_NOMB.op=="edit")
{
if (tdField7.children("input[type=text]").eq(0).val()==''
|| tdField9.children("input[type=text]").eq(0).val()==''
|| tdField10.children("input[type=text]").eq(0).val()==''
|| tdField13.children("input[type=text]").eq(0).val()==''
|| tdField14.children("input[type=text]").eq(0).val()=='') {
alert("All mandatory fields are not completed"); // es este alert el que repite varias veces
par.css("background-color","#eee");
SI_PROD_ER_NOMB.salvar = false;
}
else
{
SI_PROD_ER_NOMB.salvar = true;
}
}
else
{
alert("La operación no está disponible");
}
}

if (SI_PROD_ER_NOMB.salvar) {
tdBotoes.html("<img src='img/ico_edit.png' class='btnEditar center-block'/>");
tdField2.html(tdField2.children("input[type=text]").val());
tdField3.html(tdField3.children("input[type=text]").val());
tdField4.html(tdField4.children("input[type=text]").val());
tdField5.html(tdField5.children("input[type=text]").val());
tdField6.html(tdField6.children("input[type=text]").val());
tdField7.html(tdField7.children("input[type=text]").val());
tdField8.html(tdField8.children("input[type=text]").val());
tdField9.html(tdField9.children("input[type=text]").val());
tdField10.html(tdField10.children("input[type=text]").val());
tdField11.html(tdField11.children("input[type=text]").val());
tdField12.html(tdField12.children("input[type=text]").val());
tdField13.html(tdField13.children("input[type=text]").val());
tdField14.html(tdField14.children("input[type=text]").val());

$("#btnAdicionar").show();
}

$("#SI_PROD_ER_NOMB tbody").on('click', '.btnEditar', SI_PROD_ER_NOMB.Editar);
$(".btnExcluir").bind("click", SI_PROD_ER_NOMB.Excluir);
$(".btnCancel").bind("click", SI_PROD_ER_NOMB.Cancel);
},

Saludos.

Última edición por estaisaderezados; 07/08/2015 a las 02:14

Etiquetas: Ninguno
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 15:41.