从输入文本框中清除(或更改)输入掩码(使用 Jasny)
Clear (or change) input mask from input textbox (Using Jasny)
我希望根据 select 在 select 列表中输入的值更改文本框的输入掩码。代码是:
$(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 is not a function" 错误。
文档显示“?”说 'any characters following will become optional' 所以我试过了
$("#searchCriteria").inputmask({ mask: '?', placeholder: '' });
没有成功。
似乎一旦设置了掩码,就无法更改或清除它,但我相信有办法。
我也尝试过 $("#searchCriteria").unbind();
它清除了掩码,但不会将其设置为任何其他内容。
编辑:
我并不局限于使用 Jasny,欢迎任何其他建议:)
我要满足的要求是 'Change an input mask on an input textbox according to the selection in a dropdown list'。
从这个 SO 问题中找到答案:
How can I "reset" <div> to its original state after it has been modified by JavaScript?
本质上,将克隆的状态存储在一个变量中,并在重新分配掩码之前使用该变量将元素恢复到其原始状态。
代码现在看起来像这样,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");
我希望根据 select 在 select 列表中输入的值更改文本框的输入掩码。代码是:
$(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 is not a function" 错误。
文档显示“?”说 'any characters following will become optional' 所以我试过了 $("#searchCriteria").inputmask({ mask: '?', placeholder: '' });
没有成功。
似乎一旦设置了掩码,就无法更改或清除它,但我相信有办法。
我也尝试过 $("#searchCriteria").unbind();
它清除了掩码,但不会将其设置为任何其他内容。
编辑: 我并不局限于使用 Jasny,欢迎任何其他建议:)
我要满足的要求是 'Change an input mask on an input textbox according to the selection in a dropdown list'。
从这个 SO 问题中找到答案:
How can I "reset" <div> to its original state after it has been modified by JavaScript?
本质上,将克隆的状态存储在一个变量中,并在重新分配掩码之前使用该变量将元素恢复到其原始状态。
代码现在看起来像这样,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");