Good, I have a question. I can not send the data entered by the user in my pivot table to my MVC controller and C # in my view I have the following:
Function that creates the Dynamic table:
function fn_agregar() {
cadena = "<tr>";
cadena = cadena + "<td><input style='font - size: 20px; font - weight: 700;' class='form - control' type='text' name='COD_CLASIFICADOR[]' value='" + alias("#COD_CLASIFICADOR").val() + "' readonly required></td>";
cadena = cadena + "<td><input style='font - size: 20px; font - weight: 700;' class='form - control' type='text' name='COD_ITEM[]' value='" + alias("#COD_ITEM").val() + "' readonly required></td>";
cadena = cadena + "<td><input style='font - size: 20px; font - weight: 700;' class='form - control' type='text' name='NOMBRE[]' value='" + alias("#NOMBRE").val() + "' readonly required></td>";
cadena = cadena + "<td><input style='font - size: 20px; font - weight: 700;' class='form - control' type='text' name='VALOR_UNITARIO[]' value='" + alias("#VALOR_UNITARIO").val() + "' readonly required></td>";
cadena = cadena + "<td><input style='font - size: 20px; font - weight: 700;' class='form - control' type='text' id='CANTIDAD2' name='CANTIDAD[]' value='" + alias("#CANTIDAD").val() + "' readonly required></td>";
cadena = cadena + "<td><input style='font - size: 20px; font - weight: 700;' class='form - control' type='text' name='VALOR_BRUTO[]' value='" + alias("#VALOR_BRUTO").val() + "' readonly required></td>";
cadena = cadena + "<td><input style='font - size: 20px; font - weight: 700;' class='form - control' type='text' name='VALOR_TOTAL[]' value='" + alias("#VALOR_TOTAL").val() + "' readonly required></td>";
cadena = cadena + "<td><a class='elimina'><button class='btn btn-danger' type='button'><span class='fa fa-remove'></span></button></a></td>";
alias("#detalles tbody").append(cadena);
fn_eliminar();
sumar();
limpiar();
};
function limpiar() {
document.getElementById("COD_CLASIFICADOR").value = "";
document.getElementById("COD_ITEM").value = "";
document.getElementById("NOMBRE").value = "";
document.getElementById("VALOR_UNITARIO").value = "";
document.getElementById("CANTIDAD").value = "";
document.getElementById("VALOR_BRUTO").value = "";
document.getElementById("VALOR_TOTAL").value = "";
}
function fn_eliminar() {
alias("a.elimina").click(function () {
valor = alias(this).parents("tr").find("td").eq(5).html();
alias(this).parents("tr").fadeOut("normal", function () {
alias(this).remove();
restar();
})
});
};
The function that sends the data
//Collect Multiple Order List For Pass To Controller
alias("#saveOrder").click(function (e) {
debugger;
e.preventDefault();
// var orderArr = [];
// orderArr.length = 0;
var orderArr = new Array;
alias.each(alias("#detalles tbody"), function () {
orderArr.push({
COD_CLASIFICADOR: alias(this).find('td:eq(0)').html(),
COD_ITEM: alias(this).find('td:eq(1)').html(),
VALOR_UNITARIO: alias(this).find('td:eq(3)').html(),
CANTIDAD: alias(this).find('td:eq(4)').html(),
VALOR_BRUTO: alias(this).find('td:eq(5)').html(),
VALOR_TOTAL: alias(this).find('td:eq(6)').html()
});
});
//After Click Save Button Pass All Data View To Controller For Save Database
function saveOrder(data) {
return alias.ajax({
contentType: 'application/json; charset=utf-8',
dataType: 'json',
type: 'POST',
url: "/Cotizacion/Create",
data: data,
success: function (result) {
alert(result);
location.reload();
},
error: function () {
alert("Error!") }
});
};
var data = JSON.stringify(orderArr);
alias.when(saveOrder(data)).then(function (response) {
console.log(response);
}).fail(function (err) {
console.log(err);
});
});
My controller
public JsonResult Create(CB_COTIZACION cB_COTIZACION, Detalle[] data)
{
foreach (var item in data)
{
if (ModelState.IsValid)
{
cB_COTIZACION.NUM_COTIZACION = cb_cotizazion;
cB_COTIZACION.COD_CLIENTE = cB_COTIZACION.COD_CLIENTE;
cB_COTIZACION.COD_VENDEDOR = cB_COTIZACION.COD_VENDEDOR;
cB_COTIZACION.VALOR_BRUTO = item.VALOR_BRUTO;
cB_COTIZACION.VALOR = item.VALOR_TOTAL;
}
);
db.CB_COTIZACION.Add(cB_COTIZACION);
In the Model
{
public class MVCJsonPost
{
}
public class Detalle
{
public string COD_CLASIFICADOR { get; set; }
public string COD_ITEM { get; set; }
public decimal VALOR_UNITARIO { get; set; }
public int CANTIDAD { get; set; }
public decimal VALOR_BRUTO { get; set; }
public decimal VALOR_TOTAL { get; set; }
}
}