JSFiddle - React, Tailwind, and code Playground

by Porfirio Chavez

HTML

<table><tr>
             <td><input name="inValor17" value="4,171,170,022" onblur="$(this).formatCurrency({symbol: &quot;&quot;,roundToDecimalPlace: -1});" type="text"></td>
            <td><input name="inValor18" value="85.2" onblur="$(this).formatCurrency({symbol: &quot;&quot;,roundToDecimalPlace: 1});" type="text"></td>
            <td>
                <input value="1" type="hidden">
                <a href="" class="guardar">Guardar</a>
            </td>
                </tr></table>

JavaScript

$('table').on('click', '.guardar', guardarAvance);

function guardarAvance(){
    $(this).removeClass("guardar").addClass("editar");
    $(this).html("Editar");
    
    var tds = $(this).closest("tr").children('td').length;
    tds --; //se resta uno ya que la ultima fila tiene los controles
    //console.log("hay " +tds+" celdas a guardar");
    
	var $id = $(this).closest("tr").find("input[type=hidden]").val();
	var $datos = $(this).closest("tr").find("input");
    
    var $datosEnviar = new Array();
         
	/*$datos.each(function(index, element) {
		var $nombre = $(this).attr("name");
		var $valor = $(this).val();
		$datosEnviar[$nombre] = $valor;
    });*/
    
	$datosEnviar["id_organismo"] = $id;
	$datosEnviar["actualizar"] = true;
	
    //console.log($datosEnviar);

    $.ajax({
        data: $datosEnviar,
        //url: "../lib/consultaAvanceOrganismo.php",
        type: "POST",
        async: false,
        beforeSend: function(){
            console.log($datosEnviar);
        },
        success: function(respuesta){
                alert(respuesta);
        },
        error:	function(xhr,err){
            alert("readyState: "+xhr.readyState+"\nstatus: "+xhr.status);
            alert("responseText: "+xhr.responseText);
        }
    });
	
	return false;
}