Robin Herbots 11 years ago
parent
commit
ef1ea5593f

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

@@ -132,7 +132,7 @@
                         c: integerValue[0],
                         caret: radixPos + 1
                     };
-                    if (!integerValue || "0" == integerValue[0]) return maskset.buffer[integerValue ? integerValue.index : pos] = "0", 
+                    if (!integerValue || -1 == radixPos && "0" == integerValue[0]) return maskset.buffer[integerValue ? integerValue.index : pos] = "0", 
                     {
                         pos: (integerValue ? integerValue.index : pos) + 1
                     };

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

@@ -1879,7 +1879,7 @@
                         c: integerValue[0],
                         caret: radixPos + 1
                     };
-                    if (!integerValue || "0" == integerValue[0]) return maskset.buffer[integerValue ? integerValue.index : pos] = "0", 
+                    if (!integerValue || -1 == radixPos && "0" == integerValue[0]) return maskset.buffer[integerValue ? integerValue.index : pos] = "0", 
                     {
                         pos: (integerValue ? integerValue.index : pos) + 1
                     };

File diff suppressed because it is too large
+ 1 - 1
dist/jquery.inputmask.bundle.min.js


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

@@ -163,7 +163,7 @@ Optional extensions on the jquery.inputmask base
                         if (maskset["validPositions"][radixPos - 1])
                             return { "caret": radixPos + 1 };
                         else return { "pos": integerValue.index, c: integerValue[0], "caret": radixPos + 1 };
-                    } else if (!integerValue || integerValue["0"] == "0") {
+                    } else if (!integerValue || (radixPos == -1 && integerValue["0"] == "0")) {
                         maskset.buffer[integerValue ? integerValue.index : pos] = "0";
                         return { "pos": (integerValue ? integerValue.index : pos) + 1 };
                     }

+ 24 - 0
qunit/tests_numeric.js

@@ -808,4 +808,28 @@ test("inputmask(\"integer\") - -5.000,77 - DrSammyD", function () {
 
     equal($("#testmask").val(), "-5000", "Result " + $("#testmask").val());
     $("#testmask").remove();
+});
+
+asyncTest("inputmask(\"decimal\ placeholder :\"\" digitsoptional: false) - 123 - loostro", function () {
+    var $fixture = $("#qunit-fixture");
+    $fixture.append('<input type="text" id="testmask" value="0,00" />');
+    $("#testmask").inputmask("decimal", {
+        radixPoint: ",",
+        digits: 2,
+        digitsOptional: false,
+        autoGroup: true,
+        groupSeparator: " ",
+        groupSize: 3,
+        allowPlus: false,
+        allowMinus: false,
+    });
+    $("#testmask")[0].focus();
+    $("#testmask").click();
+
+    setTimeout(function() {
+        $("#testmask").Type("123");
+        start();
+        equal($("#testmask").val(), "123,00", "Result " + $("#testmask").val());
+        $("#testmask").remove();
+    }, 0);
 });