Javascript jQuery自动完成多个minLength
我需要检查数值是否来自“#lookup”字段, 如果是数字,我需要将minLength设置为5,否则它将minLength:3 可能吗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({
<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
函数。