agregar múltiples productos al carrito de compras ingresando múltiples ID de productos en un cuadro de texto
Frecuentes
Visto 1,174 veces
2
Estoy desarrollando una opción en Magento donde el cliente puede ingresar múltiples ID de productos en un cuadro de texto y agregarlos al carrito de compras. Pude hacerlo solo para una ID de producto donde se ingresa en un cuadro de entrada usando el siguiente jquery,
$(document).ready(function(){
$("#submit").click(function(){
var id = $("#nam").val();
$.post("....../checkout/cart/add", { product:id },
function(data) {
alert("The Product is added to your shopping cart.");
window.location.reload(true);
});
});
});
var id obtiene el valor del cuadro de entrada.
En un cuadro de entrada, tomo una ID de producto, por lo que no hay problema en obtener el valor y pasarlo a la página de agregar producto usando jquery.post(). Pero si ingreso varios ID de producto separados por comas en un cuadro de texto, ¿cómo buscaré cada ID de producto y lo enviaré para agregar la página del producto para su actualización? ¿Hay alguna forma mejor de hacerlo que no sea usar el método jquery.post()?
2 Respuestas
1
Puede dividir sus ID por un separador e iterar sobre la matriz resultante agregando los artículos a la tarjeta de compras. Algo como:
$(document).ready(function(){
$("#submit").click(function(){
var ids = $("#nam").val().split(' '); // SPACE seperated Ids
for(i = 0; i < ids.length; i++){
var id = ids[i];
$.post("....../checkout/cart/add", { product:id },
function(data) {
//alert("The Product is added to your shopping cart.");
//window.location.reload(true);
});
}
});
});
Tendrá que desinfectar los valores de su cuadro de texto antes de hacerlo.
contestado el 22 de mayo de 12 a las 13:05
0
$(document).ready(function () {
$("#submit").click(function () {
var productIds = [];
$.each($("#nam").val().split(','), function (i, value) {
if (value.length > 0) {
productIds.push(value);
}
});
$.post("....../checkout/cart/add", { productIds: productIds },
function (data) {
alert('The' + (productIds.length == 1 ? 'Product' : 'Products') + ' is added to your shopping cart.');
window.location.reload(true);
});
});
});
public ActionResult add(int[] productIds)
{
return Json(true, JsonRequestBehavior.AllowGet);
}
debe devolver una matriz de ID de productos para publicar la acción, entonces solo se puede lograr.
contestado el 22 de mayo de 12 a las 13:05
No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas javascript magento jquery e-commerce or haz tu propia pregunta.