尝试更改功能以验证我的自动完成文本框
到目前为止,我的自动完成功能使用以下代码:
自动填充代码:
$("#Form_Ser_Num").autocomplete({
source: "@Url.Action("SerialProdNumStockSiteAutoComplete", "Ajax")?stocksitenum=LW&model=" + $("#Form_Prod_Num").val(),
minlength: 2,
delay: 300,
select: function (event, ui) {
event.preventDefault();
event.target.innerText = ui.item.label.split(',')[0];
$("#Form_Ser_Num_Source").val(ui.item.label.split(',')[1]);
}
});
我想添加它,以便验证:
change: function( event, ui ) {
if ( !ui.item ) {
var matcher = new RegExp("^" + $.ui.autocomplete.escapeRegex($(this).val()) + "$", "i" ), valid = false;
select.children("option").each(function() {
if ($(this).text().match(matcher)) {
this.selected = valid = true;
return false;
}
});
if (!valid) {
// remove invalid value, as it didn't match anything
$(this).val("");
select.val("");
input.data("autocomplete").term = "";
return false;
}
}
}
我在网上找到了这个,但是我无法在我的代码中实现它。
任何想法如何将此更改功能用于我的自动完成功能。
答案 0 :(得分:0)
假设您要使用源检查/验证文本字段值,您可以试试这里。只需修改更改和响应函数,如下所示:
change:function(event, ui){
if (!ui.item){
$(this).val('');
}
}
response: function(e, ui) {
if (ui.content.length == 0) {
$(this).val("");
}
}