jquery.inputmask 3.3.4 的日期时间格式错误?
datetime format bug for jquery.inputmask 3.3.4?
当我将 jquery.inputmask
插件从 3.3.1 升级到 3.3.4 时,我注意到掩码的日期时间格式发生了变化。
// in version 3.3.1
$("#textbox").inputmask("y-m-d");
$("#textbox").inputmask("h:s");
// in version 3.3.4
$("#textbox").inputmask("yyyy-mm-dd");
$("#textbox").inputmask("hh:mm");
在v3.3.4中,字母"m"同时用于"month"和"minute",一些掩码定义容易引起冲突,例如
$("#textbox").inputmask("yyyy-mm-dd hh:mm"); // ERROR! can't input anything into textbox
$("#textbox").inputmask("mm/dd/yyyy hh:mm xm"); // but this works fine
这个问题只发生在jquery.inputmask 3.3.4
这是一个错误吗?我怎样才能使掩码 "year-month-day hour:minute"
在我的页面中工作?
深入研究源代码后,您似乎可以使用 Inputmask.extendAliases
通过为您的特定用例添加自定义别名来纠正错误:
Inputmask.extendAliases({
"yyyy-mm-dd hh:mm": {
mask: "y-1-2 h:s",
placeholder: "yyyy-mm-dd hh:mm",
alias: "datetime",
separator: "-"
}
})
$("#textbox").inputmask("yyyy-mm-dd hh:mm")
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://rawgit.com/RobinHerbots/Inputmask/3.x/dist/jquery.inputmask.bundle.js"></script>
<input id="textbox" type="text">
当我将 jquery.inputmask
插件从 3.3.1 升级到 3.3.4 时,我注意到掩码的日期时间格式发生了变化。
// in version 3.3.1
$("#textbox").inputmask("y-m-d");
$("#textbox").inputmask("h:s");
// in version 3.3.4
$("#textbox").inputmask("yyyy-mm-dd");
$("#textbox").inputmask("hh:mm");
在v3.3.4中,字母"m"同时用于"month"和"minute",一些掩码定义容易引起冲突,例如
$("#textbox").inputmask("yyyy-mm-dd hh:mm"); // ERROR! can't input anything into textbox
$("#textbox").inputmask("mm/dd/yyyy hh:mm xm"); // but this works fine
这个问题只发生在jquery.inputmask 3.3.4
这是一个错误吗?我怎样才能使掩码 "year-month-day hour:minute"
在我的页面中工作?
深入研究源代码后,您似乎可以使用 Inputmask.extendAliases
通过为您的特定用例添加自定义别名来纠正错误:
Inputmask.extendAliases({
"yyyy-mm-dd hh:mm": {
mask: "y-1-2 h:s",
placeholder: "yyyy-mm-dd hh:mm",
alias: "datetime",
separator: "-"
}
})
$("#textbox").inputmask("yyyy-mm-dd hh:mm")
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://rawgit.com/RobinHerbots/Inputmask/3.x/dist/jquery.inputmask.bundle.js"></script>
<input id="textbox" type="text">