Javascript 输入选择的jquery历史记录(简单)

Javascript 输入选择的jquery历史记录(简单),javascript,jquery,Javascript,Jquery,我有一个名为email class keyup an的输入字段。我很容易验证它,但是当一个人手动输入字段时,它就可以工作了。如何使其也适用于选择历史数据。当你点击电子邮件,昨天你把test@test.com,历史记录列表下拉,您可以选择它,但它不是键控键 我尝试了相同的功能后,但与.change或.click,它没有工作。你们能推荐一下吗?有效 $('.keyup-an').keyup(function() { $('span.error-keyup-1').hide(); va

我有一个名为email class keyup an的输入字段。我很容易验证它,但是当一个人手动输入字段时,它就可以工作了。如何使其也适用于选择历史数据。当你点击电子邮件,昨天你把test@test.com,历史记录列表下拉,您可以选择它,但它不是键控键

我尝试了相同的功能后,但与.change或.click,它没有工作。你们能推荐一下吗?有效

$('.keyup-an').keyup(function() {
    $('span.error-keyup-1').hide();
    var inputVal = $(this).val();
    var numericReg = /^[a-zA-Z0-9_ ]{2,30}$/;
    if(!numericReg.test(inputVal)) {
        $(this).css('background', '#FAC3C3');
        $(this).after('<span class="error error-keyup-1">Validationfail</span>');
    } 
    else {
        $(this).css('background', 'lightgreen');
    }
});
$('.keyup an').keyup(function(){
$('span.error-keyup-1').hide();
var inputVal=$(this.val();
var numericReg=/^[a-zA-Z0-9}{2,30}$/;
如果(!数值示例测试(输入值)){
$(this.css('background','#FAC3C3');
$(this).after('Validationfail');
} 
否则{
$(this.css('background','lightgreen');
}
});

您可以通过

autocomplete='off'
范例

<form name="form1" id="form1" method="post" autocomplete="off">
博览群书


如果我理解正确,您希望在单击“自动完成”项目时触发一个事件

这是一个已知的bug,请查看这篇关于jquery插件的文章,我认为这正是您需要的:


而不是将函数绑定到keyup事件。。也许把它绑定到变更事件?
好啊这在某些浏览器上似乎不起作用。。您可以参考前面的答案并使用该解决方案,该解决方案基本上创建了一个计时器来检查间隔中的值,以检测变化。如果希望快速进行验证,则强制浏览器执行大量工作。。或者,您可以打开“自动完成”并强制用户手动输入值,就像建议的第一个答案一样

哈哈,很好,但是如果可能的话,我还是想自动完成work@Val您可以像
$('#form1').attr('autocomplete','off')我试图实现这个测试,但无法让它工作。有什么建议吗?您是否将方法更改为更改事件?在建议的方法中,调用了$(this).trigger('change'),因此您需要将方法更改为$('.keyup an').change(function(){..是否有任何错误?
$(input).autocomplete().keyup(function(event) {
  event.stopPropagation();
}).keydown(function() {
$(this).autocomplete('search', $(input).val());   
});