![](/img/trans.png)
[英]How to clear jasny input mask before using in Laravel validator?
[英]Clear (or change) input mask from input textbox (Using Jasny)
我希望根据选择列表中选择的值更改文本框上的输入掩码。 代码是:
$(document).ready(function () {
$("#searchList").change(function () {
$("#searchCriteria").val("");
var value = $(this).find("option:selected").val();
switch (value) {
case "2":
$("#searchCriteria").inputmask({ mask: '999999', placeholder: '' });
break;
default:
alert('default'); // this alert pops up.
$("#searchCriteria") ///I want to clear the mask here.
}
});
});
我试过了
$("#searchCriteria").unmask();
但得到“Uncaught TypeError:$(...)。unmask不是函数”错误。
文档说'?' 说'后面的任何字符都将成为可选字符'所以我尝试了$(“#searchCriteria”)。inputmask({mask:'?',placeholder:''});
没有成功。
看来,一旦设置了掩模,它就无法更改或清除,但我确信有办法。
我也试过$(“#searchCriteria”)。unbind();
哪个清除了掩码,但不会将其设置为其他任何东西。
编辑:我没有被使用Jasny,任何其他建议欢迎:)
我想要实现的要求是“根据下拉列表中的选择更改输入文本框上的输入掩码”。
从这个SO问题找到了答案:
如何在JavaScript修改后将<div>“重置”为原始状态?
实质上,将克隆状态存储在变量中,并在重新分配掩码之前使用此变量将元素恢复为其原始状态。
代码现在看起来像这样,switch语句已经消失,但这是出于一个非相关的原因:
$(document).ready(function () {
var searchCriteriaClone = $("#searchCriteria").clone();
$("#searchList").change(function () {
$("#searchCriteria").val("");
$("#searchCriteria").replaceWith(searchCriteriaClone.clone());
var value = $(this).find("option:selected").val();
if (value === "2") {
$("#searchCriteria").inputmask({ mask: "999999", placeholder: "" });
}
});
});
尝试
$("#searchCriteria").trigger("unmask");
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.