1

在检查它是否有价值后,我正在从数据库中返回值。如果它有一个值,它将显示在我的文本框中。但我希望它被(000-000-000-000)的格式掩盖,显然,它不起作用。但是在正常输入的情况下,掩码工作得很好。只是成功后就不行了。任何帮助都会很好。

我的代码:

//..start of ajax code....
success: function(result) {
  console.log(result);
  if (result != "") {
    $("#tin").mask("000-000-000-000");
    $("#tin").val(result);
  }
}
4

1 回答 1

1

掩码插件在输入时格式化输入文本(确切地说是oninputevent )

使用 ajax 设置值后,格式将不会应用于最后一个(因为onchange事件 not oninput)。

因此,要解决此问题,只需在使用 jQuery trigger()函数设置值后触发输入事件。

如下所示:

success: function(result) {
  console.log(result);
  if (result != "") {
    $("#tin").unmask().mask("000-000-000-000");
    $("#tin").val(result).trigger("input");;
  }
}

您可以在此处查看示例小提琴示例Link to fiddle

于 2018-02-21T10:16:38.080 回答