Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/75.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 输入编号部分功能只工作一次_Javascript_Jquery_Shopify - Fatal编程技术网

Javascript 输入编号部分功能只工作一次

Javascript 输入编号部分功能只工作一次,javascript,jquery,shopify,Javascript,Jquery,Shopify,我有一个数字输入框的功能,旁边有+和-按钮,可以在我使用的shopify主题中复制代码。但该函数只显示一次。但我需要这些适用于所有产品供应 (function ($) { $.fn.bootstrapNumber = function (options) { var settings = $.extend({ upClass: 'default', downClass: 'default', center: true },

我有一个数字输入框的功能,旁边有
+
-
按钮,可以在我使用的
shopify
主题中复制代码。但该函数只显示一次。但我需要这些适用于所有产品供应

(function ($) {

  $.fn.bootstrapNumber = function (options) {

    var settings = $.extend({
        upClass: 'default',
        downClass: 'default',
        center: true
    }, options);

    return this.each(function (e) {
        var self = $(this);
        var clone = self.clone();

        var min = self.attr('min');
        var max = self.attr('max');

        function setText(n) {
            if ((min && n < min) || (max && n > max)) {
                return false;
            }

            clone.focus().val(n);
            return true;
        }

        var group = $("<div class='input-group'></div>");
        var down = $("<button type='button'>-</button>").attr('class', 'btn btn-' + settings.downClass).click(function () {
            setText(parseInt(clone.val()) - 1);
        });
        var up = $("<button type='button'>+</button>").attr('class', 'btn btn-' + settings.upClass).click(function () {
            setText(parseInt(clone.val()) + 1);
        });
        $("<span class='input-group-btn'></span>").append(down).appendTo(group);
        clone.appendTo(group);
        if (clone) {
            clone.css('text-align', 'center');
        }
        $("<span class='input-group-btn'></span>").append(up).appendTo(group);

        // remove spins from original
        clone.prop('type', 'text').keydown(function (e) {
            if ($.inArray(e.keyCode, [46, 8, 9, 27, 13, 110, 190]) !== -1 ||
                (e.keyCode == 65 && e.ctrlKey === true) ||
                (e.keyCode >= 35 && e.keyCode <= 39)) {
                return;
            }
            if ((e.shiftKey || (e.keyCode < 48 || e.keyCode > 57)) && (e.keyCode < 96 || e.keyCode > 105)) {
                e.preventDefault();
            }

            var c = String.fromCharCode(e.which);
            var n = parseInt(clone.val() + c);

            //if ((min && n < min) || (max && n > max)) {
            //    e.preventDefault();
            //}
        });

        clone.prop('type', 'text').blur(function (e) {
            var c = String.fromCharCode(e.which);
            var n = parseInt(clone.val() + c);
            if ((min && n < min)) {
                setText(min);
            }
            else if (max && n > max) {
                setText(max);
            }
        });


        self.replaceWith(group);
    });
  };
}(jQuery));
(函数($){
$.fn.bootstrapNumber=函数(选项){
变量设置=$.extend({
upClass:'default',
downClass:'默认',
中锋:对
},选项);
返回此。每个函数(e){
var self=$(这是);
var clone=self.clone();
var min=self.attr('min');
var max=self.attr('max');
函数setText(n){
如果((最小值和最小值<最小值)|(最大值和最大值>最大值)){
返回false;
}
clone.focus().val(n);
返回true;
}
变量组=$(“”);
var down=$(“-”).attr('class','btn btn-'+settings.down类)。单击(函数(){
setText(parseInt(clone.val())-1);
});
var up=$(“+”).attr('class','btn btn-'+settings.upClass)。单击(函数(){
setText(parseInt(clone.val())+1);
});
$(“”).append(向下).appendTo(组);
克隆.appendTo(组);
如果(克隆){
css('text-align','center');
}
$(“”).append(向上).appendTo(组);
//从原始图像中删除旋转
clone.prop('type','text').keydown(函数(e){
如果($.inArray(例如,keyCode[46,8,9,27,13,110,190])!=-1||
(e.keyCode==65&&e.ctrlKey==true)||
(e.keyCode>=35&&e.keyCode 57))&&(e.keyCode<96|e.keyCode>105)){
e、 预防默认值();
}
var c=String.fromCharCode(e.which);
var n=parseInt(clone.val()+c);
//如果((最小值和最小值<最小值)|(最大值和最大值>最大值)){
//e.预防违约();
//}
});
clone.prop('type','text').blur(函数(e){
var c=String.fromCharCode(e.which);
var n=parseInt(clone.val()+c);
如果((最小值和n<最小值)){
setText(最小值);
}
else if(最大值(&n>max){
setText(最大值);
}
});
自身替代(组);
});
};
}(jQuery));

如何初始化函数

你的问题肯定就在那里。。。 因为它是用这个:

$('input').bootstrapNumber();

包括您未修改的脚本。

如何初始化函数

你的问题肯定就在那里。。。 因为它是用这个:

$('input').bootstrapNumber();

包含完全未修改的脚本。

是否有理由使用
attr
而不是
$()
调用
向上
向下
变量?是否有理由使用
attr
而不是在
$()
调用
向上
向下
变量时设置class属性?我发现了您的初始化。。。在视图源的第729-730行上。您使用
id
#彩色的
。使用一个类!
id
无论如何都必须是唯一的。。。这在您的页面中并非如此。请使用
$(“.input group btn input”).bootstrapNumber({upClass:'success',downcclass:'danger')在第730行。。。删除第729行:
$('#after')。bootstrapNumber()¸。如果我添加您指出的行:$('input')。bootstrapNumber();情况变得更糟。$(“[name='checkbox2']”)。更改(函数(){if(!confirm('doyouwancancelme!'){this.checked=true;}})$(“#after”).bootstrapNumber()$bootstrapNumber({upClass:'success',downcclass:'danger});让我再次检查并删除所有id=“after”我发现您的初始化。。。在视图源的第729-730行上。您使用
id
#彩色的
。使用一个类!
id
无论如何都必须是唯一的。。。这在您的页面中并非如此。请使用
$(“.input group btn input”).bootstrapNumber({upClass:'success',downcclass:'danger')在第730行。。。删除第729行:
$('#after')。bootstrapNumber()¸。如果我添加您指出的行:$('input')。bootstrapNumber();情况变得更糟。$(“[name='checkbox2']”)。更改(函数(){if(!confirm('doyouwancancelme!'){this.checked=true;}})$(“#after”).bootstrapNumber()$bootstrapNumber({upClass:'success',downcclass:'danger});让我再次检查并删除所有id=“after”