【问题标题】:MVC jQuery it increases the quantity each time with .click function but doesnt replace the href at the same timeMVC jQuery 每次使用 .click 函数都会增加数量,但不会同时替换 href
【发布时间】:2016-04-30 08:40:14
【问题描述】:

我有一个产品详细信息页面。当单击Add To Cart 按钮时,有数量增加和数量减少按钮来更改将添加的数量。

每次单击“数量增加按钮”时,我都想更改href 数量,以便将数量信息发送给控制器。

这里有什么问题?每次我点击数量增加按钮时,我都会得到正确的增加数量信息,如 2、3、4 等,但每次我得到/Home/AddToCart/1002?quantity=2 href 信息。 ?quantity=2 应该像 ?quantity=3?quantity=4 等改变。但没有。我在这里错过了什么?

$(".cart_quantity_up").click(function () {
        var val;
        var uri;
        var newuri;
        val = $(".cart_quantity_input").val();
        val++;
        uri = $("#addtocart").attr("href");
        newuri = uri.replace("xxxx", val);
        $("#addtocart").attr("href", newuri);
        $(".cart_quantity_input").val(val);
        alert(newuri);
});

xxxx 表示 jquery 后面要更改的值

【问题讨论】:

  • val() 返回一个字符串,而不是一个数字。 "xxxx" 应该做什么?
  • xxxx 表示稍后在 jquery 中更改的值 Sepete Ekle

标签: jquery model-view-controller replace href cart


【解决方案1】:
  1. 使用 parseint
  2. 使用 prop 代替 attr

    $(".cart_quantity_up").click(function () {
        var val;
        var uri;
        var newuri;
        val = parseInt($(".cart_quantity_input").val());
        val++;
        uri = $("#addtocart").prop("href");
        newuri = uri.replace("xxxx", val);
        $("#addtocart").prop("href", newuri);
        $(".cart_quantity_input").val(val);
        alert(newuri);
    });
    

请记住,href 会因此而改变,因此如果您再次调用它,xxxx 将不再可用!

【讨论】:

  • 感谢您的帮助。你说的对。我在这里做的错误是第二次寻找 xxxx 值。我将更改使用 ajax 向控制器发送数据的方式。
猜你喜欢
  • 1970-01-01
  • 2021-04-18
  • 1970-01-01
  • 1970-01-01
  • 2016-12-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-08-24
相关资源
最近更新 更多