Javascript jQuery自动完成多个minLength

Javascript jQuery自动完成多个minLength,javascript,jquery,Javascript,Jquery,我需要检查数值是否来自“#lookup”字段, 如果是数字,我需要将minLength设置为5,否则它将minLength:3 可能吗 <script type="text/javascript"> $(document).ready(function() { $( "#lookup" ).autocomplete({ source: function(request, response) { $.ajax({

我需要检查数值是否来自“#lookup”字段, 如果是数字,我需要将minLength设置为5,否则它将minLength:3

可能吗

<script type="text/javascript">
$(document).ready(function() {
    $( "#lookup" ).autocomplete({
        source: function(request, response) {
            $.ajax({
                url: "script.pl",
                dataType: "json",
                data: {
                    term : request.term,
                },
                success: function(data) {
                    response(data);
                    console.log(data);
                },
                error: function(response){
                    alert('Somethings broken in the AJAX return');
                }
            });
        },
        close:function(){
            this.value=''
        },
        // need to check here if a numeric value is coming from #lookup
        // if it is, I would like to set this to: minLength: 5,
        // else minLength: 3,
        minLength: 3,
        delay: 500
    });
});
</script>

$(文档).ready(函数(){
$(“#查找”).autocomplete({
来源:功能(请求、响应){
$.ajax({
url:“script.pl”,
数据类型:“json”,
数据:{
期限:request.term,
},
成功:功能(数据){
答复(数据);
控制台日志(数据);
},
错误:函数(响应){
警报(“AJAX返回中的某些内容已损坏”);
}
});
},
关闭:函数(){
this.value=''
},
//需要在此处检查数值是否来自#查找
//如果是,我想将其设置为:minLength:5,
//长度:3,
最小长度:3,
延误:500
});
});

这应检查值(即使最初是字符串)是否安全地转换为数值:

function isNumeric(n) { 
      return !isNaN(parseFloat(n)) && isFinite(n); 
}

在这里找到:

可能是这样的

$("#lookup").on('keyup', function(){
    var $this = $(this);
    if(isNumeric($this.val())) {
        $this.data('uiAutocomplete').options.minLength = 5
    }
})
以及@Dpeif answer中的isNumetic函数:

function isNumeric(n) { 
      return !isNaN(parseFloat(n)) && isFinite(n); 
}

您需要将其添加到
$(文档)中。在您调用“$(“#查找”)”上的
自动完成后,准备就绪。如果需要,可以全局添加
isNumeric
函数。