我在使用 webpack 和 TypeScript 导入jquery.inputmask时遇到问题。Question: build this with webpack/es6 #1115有一些讨论:
这是我如何使用 jqlite 设置的
像这样导入您的应用程序:
Run Code Online (Sandbox Code Playgroud)import InputMask from 'inputmask';要使该模块可以使用该名称,您必须为其和 dep lib 指定别名
webpack 配置(使用 jqlite dep lib,如果您使用 jquery,请将其替换为 jquery):
Run Code Online (Sandbox Code Playgroud){ // ... your config + resolve: { alias: { 'inputmask.dependencyLib': path.join(__dirname, 'node_modules/jquery.inputmask/extra/dependencyLibs/inputmask.dependencyLib.jqlite.js'), 'inputmask': path.join(__dirname, 'node_modules/jquery.inputmask/dist/inputmask/inputmask.js') } } }
我有一个类似的 webpack 配置,使用 jQuery 而不是 jqLite 作为依赖项:
alias: {
"inputmask.dependencyLib": path.join(__dirname, '../node_modules/jquery.inputmask/dist/inputmask/inputmask.dependencyLib.jquery.js'),
"inputmask": path.join(__dirname, '../node_modules/jquery.inputmask/dist/inputmask/inputmask.js')
}
Run Code Online (Sandbox Code Playgroud)
使用import InputMask from "inputmask";TypeScript 编译器会抛出错误:
错误 TS2307:找不到模块“inputmask”。
当import "inputmask";我调用时出现运行时错误 …
我想使用掩码和自动完成功能为 dateTime 进行输入。
我已经在存在问题的地方创建了小型演示。
看起来自动完成认为掩码是文本......只有当我完成输入时,我才能从自动完成中看到一些值(如果它存在于自动完成列表中)。
有什么解决办法吗?
<input name="field1" id="field1" class="inputmask" data-inputmask="'mask': 'h:s t\\m','placeholder': 'hh:mm xm', 'hourFormat': '12', 'alias': 'datetime'"/>
function generateTime(){
var times = [];
Array(24).join(',').split(',').forEach(function (_, index) {
var hour = index;
if (hour < 10) {
hour = '0' + hour;
}
times.push(moment(hour + ':00', 'HH:mm').format('hh:mm a'));
times.push(moment(hour + ':30', 'HH:mm').format('hh:mm a'));
});
return times;
}
$('.inputmask').inputmask();
$('.inputmask').autocomplete({
source: generateTime()
});
Run Code Online (Sandbox Code Playgroud)
更新:
也许是解决方案的一些起点:如果我添加属性“'autoUnmask' : true自动完成”将仅适用于“小时” - 第一个符号直到掩码中的“:”。
我正在使用Robin Herbot优秀的jQuery Input Masks插件.[ https://github.com/RobinHerbots/jquery.inputmask ].它非常完整,似乎拥有我需要的一切,但我似乎无法想出一件事.
如何创建一个掩码:"mm/dd/yyyy hh:mm pm"其中日期部分和时间部分的工作方式类似于"日期"和"时间"掩码的工作原理?
我可以使用日期或时间,但datetime使用欧洲dd/mm格式而不是我需要的mm/dd格式.我已经尝试了几种排列,但我显然遗漏了一些东西而且文档需要很多理所当然.
我想使用jquery input.mask插件实现简单的jquery掩码插件,但是,我不能使它与正则表达式一起使用.我想要实现的是:
99:59:59
Run Code Online (Sandbox Code Playgroud)
试图使用Robin Herbots Inputmask模块,但无法正常工作。查看所有其他类似的帖子,这是确保docment.ready函数具有对inputmask()的调用的常见问题,但这对我来说很好。
剧本
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js">
<script src="/js/jquery.inputmask.js">
<script src="/js/mainReady-client.js">
<script src="/js/bootstrap.min.js">
Run Code Online (Sandbox Code Playgroud)
mainReady-client.js
$(document).ready(function() {
$(":input").inputmask();
});
Run Code Online (Sandbox Code Playgroud)
的HTML
<td>
<input value="10" data-inputmask="'mask': '999'">
</td>
Run Code Online (Sandbox Code Playgroud)
我试过了:
$(document).ready(function() {
$("#currIN").inputmask("9999");
});
Run Code Online (Sandbox Code Playgroud)
或(我想要的真实货币-货币)...
$(document).ready(function() {
$("#currIN").inputmask("'alias': 'numeric', 'groupSeparator': ',', 'autoGroup': true, 'digits': 2, 'digitsOptional': false, 'prefix': '$ ', 'placeholder': '0'");
});
Run Code Online (Sandbox Code Playgroud)
然后:
<td>
<input value="10" id="currIN">
</td>
Run Code Online (Sandbox Code Playgroud)
看起来很简单,但是什么也没发生。我必须按顺序装载东西,但一切看起来都不错。谢谢你的帮助。干杯。
我在文本框上放置了一个货币输入掩码.
但是当提交表单时,需要删除前导'$'符号和分隔逗号,以便可以将值绑定为十进制.
下面是我如何设置autoUnmask中所描述这里.
$('[data-mask="currency"]').inputmask({alias:"currency",'autoUnmask':true});
Run Code Online (Sandbox Code Playgroud)
这似乎没有效果.
设置的正确方法是什么autoUnmask?
如果在"oncomplete"回调中使用其他屏蔽输入进行setVal操作,则可以在Chrome和Safary中看到不正确的反应,在FF中工作良好
oncomplete: function(e){
$('.i-input-2').val($(e.currentTarget).inputmask('unmaskedvalue'));
}
Run Code Online (Sandbox Code Playgroud)
我正在使用https://github.com/RobinHerbots/jquery.inputmask 上的 jQuery 插件,但我似乎无法推导出对应于整数和小数的模式。例如,
我需要以下内容才有效:
10
150
12.25
0.45
Run Code Online (Sandbox Code Playgroud)
目前我正在做:
$('#from_id').inputmask("9{0,5}.9{0,2}");
Run Code Online (Sandbox Code Playgroud)
但这意味着如果用户不指定小数点后的内容,则结果输出为:
例如,如果用户只想输入 12(并且他没有指定小数点),则输出为
12___.__
Run Code Online (Sandbox Code Playgroud)
(因为掩码正在等待小数点)
但是如果用户指定小数点,例如 12.00,输出很好,如:
12.00
Run Code Online (Sandbox Code Playgroud)
有人可以帮我解决这个问题吗?
最后几天,我尝试在.Net Framework中开发MVC Web应用程序.我尝试在表单上屏蔽输入.我下载了Jquery蒙面输入,我在我的视图部分编写了该代码.
@section Scripts{
<script type="text/javascript" src="/Scripts/jquery.maskedinput.min.js"></script>
<script type="text/javascript" src="/Scripts/jquery-1.8.3.min.js" charset="utf-8"></script>
<script type="text/javascript">
$(function () {
$("#phone").mask("(999) 999-9999");
});
</script>
}
Run Code Online (Sandbox Code Playgroud)
我试着像这样掩盖文本框:
@Html.TextBoxFor(model => model.PhoneNumber, new { htmlAttributes = new { @class = "form-control" ,@id="phone"} })
Run Code Online (Sandbox Code Playgroud)
但它不起作用.哪里错了?
我尝试了几种方法来掩盖它,但我没有成功.任何人都可以帮助我吗?
如何配置实现“dd-mm-yyyy hh:mm”格式?
$('input').inputmask({
mask: "1-2-y h:s",
placeholder: "dd-mm-yyyy hh:mm",
leapday: "29-02-",
separator: "-",
alias: "dd-mm-yyyy"
});
Run Code Online (Sandbox Code Playgroud)
这不起作用,它显示“dd-mm-yyyy h:s”,我只能编辑“dd-mm-yyyy”。
jquery-inputmask ×10
jquery ×8
javascript ×4
.net ×1
autocomplete ×1
datetime ×1
input ×1
jquery-ui ×1
razor ×1
safari ×1
typescript ×1
webkit ×1
webpack ×1