2015-06-01 74 views
1

试图改变机能的研究来验证我的自动完成的文本框验证自动完成

到目前为止,我的自动完成的作品与此下面的代码:

自动完成代码:

$("#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; 
     } 
    } 
} 

我已经在网上找到了这个,但是我不能用impl将其引用到我的代码中。

任何想法如何我可以使用这个改变功能,我的自动完成功能。

+0

什么是您的数据以及验证的实际内容? –

回答

0

假设你想检查/验证你的文本字段值与源,这里是你可以试试看。只需修改更改和响应功能,如下所示:

change:function(event, ui){ 
    if (!ui.item){ 
    $(this).val(''); 
    } 
    } 

response: function(e, ui) { 
    if (ui.content.length == 0) { 
    $(this).val(""); 
    } 
}