浏览代码

fix sorting of phones

Robin Herbots 11 年之前
父节点
当前提交
2d156be03b

+ 2 - 2
dist/inputmask/jquery.inputmask.numeric.extensions.js

@@ -155,10 +155,10 @@
                         isValid === !0 && (isValid = opts.leadingZeroHandler(chrs, maskset, pos, strict, opts), 
                         isValid === !0)))) {
                             var radixPosition = $.inArray(opts.radixPoint, maskset.buffer);
-                            return opts.digitsOptional === !1 && pos > radixPosition && !strict ? {
+                            opts.digitsOptional === !1 && pos > radixPosition && !strict && (isValid = {
                                 pos: pos,
                                 remove: pos
-                            } : {
+                            }), isValid = {
                                 pos: pos
                             };
                         }

+ 3 - 3
dist/inputmask/jquery.inputmask.phone.extensions.js

@@ -33,9 +33,9 @@
                     success: function(response) {
                         maskList = response;
                     }
-                }), maskList.splice(0, 0, opts.maskInit), maskList.sort(function(a, b) {
-                    return a.length - b.length;
-                }), maskList;
+                }), maskList = maskList.sort(function(a, b) {
+                    return (a.mask || a) < (b.mask || b) ? -1 : 1;
+                }), maskList.splice(0, 0, opts.maskInit), maskList;
             },
             nojumps: !0,
             nojumpsThreshold: 1

+ 5 - 5
dist/jquery.inputmask.bundle.js

@@ -1885,10 +1885,10 @@
                         isValid === !0 && (isValid = opts.leadingZeroHandler(chrs, maskset, pos, strict, opts), 
                         isValid === !0)))) {
                             var radixPosition = $.inArray(opts.radixPoint, maskset.buffer);
-                            return opts.digitsOptional === !1 && pos > radixPosition && !strict ? {
+                            opts.digitsOptional === !1 && pos > radixPosition && !strict && (isValid = {
                                 pos: pos,
                                 remove: pos
-                            } : {
+                            }), isValid = {
                                 pos: pos
                             };
                         }
@@ -1995,9 +1995,9 @@
                     success: function(response) {
                         maskList = response;
                     }
-                }), maskList.splice(0, 0, opts.maskInit), maskList.sort(function(a, b) {
-                    return a.length - b.length;
-                }), maskList;
+                }), maskList = maskList.sort(function(a, b) {
+                    return (a.mask || a) < (b.mask || b) ? -1 : 1;
+                }), maskList.splice(0, 0, opts.maskInit), maskList;
             },
             nojumps: !0,
             nojumpsThreshold: 1

文件差异内容过多而无法显示
+ 1 - 1
dist/jquery.inputmask.bundle.min.js


+ 3 - 3
js/jquery.inputmask.numeric.extensions.js

@@ -189,10 +189,10 @@ Optional extensions on the jquery.inputmask base
                                         //handle overwrite when fixed precision
                                         var radixPosition = $.inArray(opts.radixPoint, maskset.buffer);
                                         if (opts.digitsOptional === false && pos > radixPosition && !strict) {
-                                            return { "pos": pos, "remove": pos };
-                                        } else return { pos: pos };
+                                            isValid = { "pos": pos, "remove": pos };
+                                        } isValid = { pos: pos };
                                     }
-                                }
+                                } 
                             }
                         }
 

+ 3 - 1
js/jquery.inputmask.phone.extensions.js

@@ -43,8 +43,10 @@ When using this extension make sure you specify the correct url to get the masks
                     }
                 });
 
+                maskList = maskList.sort(function (a, b) {
+                    return (a["mask"] || a) < (b["mask"] || b) ? -1 : 1;
+                });
                 maskList.splice(0, 0, opts.maskInit);
-                maskList.sort(function (a, b) { return a.length - b.length; });
                 return maskList;
             },
             nojumps: true,