加上使用jQuery调整减号按钮

时间:2014-05-29 20:00:59

标签: javascript jquery css jquery-ui

两件事:

  1. 调整加号减号按钮,使其达到最小和最大范围时,相应的按钮被禁用(并应用并删除CSS - 活动为粗体,非活动正常)。
  2. 以不同的div输出数量。还可以参加各种活动。
  3. 例如:

    我显示了三个数量 -

    1. 巧克力,香草,暗流
    2. 巧克力最小数量为1,另外两个为0,最大数量为6.默认为1巧克力。必须在那里。
    3. 但总量不应超过6个。另外,在外部div中,显示 物品 - 1巧克力

      现在当你将巧克力数量改为2时,应该显示ext div(注意复数) 物品 - 2个巧克力

      现在选择暗电流(1 q) 物品 - 2个巧克力,1个暗电流

      如果你也选择香草(1 q),现在div应该显示 物品 - 4件好东西

      这意味着外部“div”分别仅显示2个项目的信息。如果更多,它会对项目进行分类和概括,但会显示总数量。

      现在如果你减少暗电流,div应该显示 物品 - 2个巧克力,1个香草

      我的问题 -

      1. 对于巧克力,减号按钮不符合最小数量,有时显示为零。
      2. 在外部div中实现动态信息(由于某种原因,暗电流不会在小提琴中增加)。
      3. 链接 - http://jsfiddle.net/YfgrK/1/

        // Increment
        if(defaultInp.val() < jQuery(defaultInp).data('max'))
        
            //If I put "var _val = " here
            //I get - [object Object] Chocolate. Why?
            $('input[name = ' + fieldName + ']').val(currentVal + 1);
        
            //Save for display in ext div
            var _val = currentVal + 1;
        
            //Show in div
            $(".count-pax").text(_val + ' ' + fieldName);
            console.log(currentVal);
        
            //Disable button
            if(defaultInp.val() == jQuery(defaultInp).data('max'))
                $(this).prop('disabled', true);
            $(".paxminus").removeAttr("disabled");
        } 
        else {
            //Otherwise put a 0 there
            $('input[name=' + fieldName + ']').val(0);
        

        下一步

        // Decrement one
        if(defaultInp.val() > minVal)
        
            //If I put "var _val = " here
            //I get - [object Object] Chocolate. Why?
            $('input[name=' + fieldName + ']').val(currentVal - 1);
        
            //Save for display in ext div
            var _val = currentVal - 1;
        
            //Show in div
            $(".count-pax").text(_val + ' ' + fieldName);
        
            //Disable button
            if(defaultInp.val() == jQuery(defaultInp).data('min'))
                $(this).prop('disabled', true);
            $(".paxplus").removeAttr("disabled");
        } 
        else {
            //Otherwise put a 0 there
            $('input[name=' + fieldName + ']').val(0);
        

1 个答案:

答案 0 :(得分:2)

为了保持井井有条,您可以创建一个单独的功能,只是为了更新总价值信息。在这个函数中,遍历<li>,将文本追加到值为大于“0”的每个元素的最终计数。

在点击事件结束时调用此功能。 以下是一个示例:http://jsfiddle.net/YfgrK/4/

function UpdateCount() {
    var text = "";
    $("#myform li").each(function() {
        var field = $(this).find("input[field]").attr("field");
        var val = $(this).find("input[type=text]").val();
        if(parseInt(val) > 0) {
            text += (text == "" ? "" : ", ") + val + " " + field;
        }
    });
    $(".count-pax").text(text);
}

修改

只是为了解释内联文本检查以添加逗号,这与执行此操作相同:

if(text != "")
    text += ", ";
text += val + " " + field;