我在我的应用程序中编写了一个jQuery自动完成代码,它工作正常,但现在我希望它只在minimum length
达到后自动完成,例如minlength=2
和如果条件if((('#id').val())>minlength)
我尝试以下代码
var minlength = 2;
$(document).ready(function () {
var text = $('#patient_id').val();
$('#patient_id').autocomplete({
//var text = $(this).val();
if(text > minlength){
source: function( request, response ) {
$.ajax({
url : 'ipdpatientajax.php',
dataType: "json",
data: {
name_startsWith: request.term,
type: 'country_table',
row_num : 1
},
success: function( data ) {
response( $.map( data, function( item ) {
var code = item.split("|");
return {
label: code[0],
value: code[0],
data : item
}
}));
}
});
},
autoFocus: true,
minLength: 0,
select: function( event, ui ) {
var names = ui.item.data.split("|");
console.log(names[1], names[2], names[3]);
$('#patientAddress').val(names[1]);
$('#patientSex').val(names[2]);
$('#patientAge').val(names[3]);
$('#dateadmit_id').val(names[4]);
$('#datedischarge_id').val(names[5]);
$("#patientAddress").attr("readonly", "readonly");
$("#patientSex").attr("readonly", "readonly");
$("#patientAge").attr("readonly", "readonly");
$("#patient_id").attr("readonly", "readonly");
$("#dateadmit_id").attr("readonly", "readonly");
$("#datedischarge_id").attr("readonly", "readonly");
}
}
});
/* other code continues.....}
但这给了我错误,' Uncaught SyntaxError: Unexpected token >
'
我现在无法测试代码,但是乍一看,您忘记了获取文本的长度。所以if子句应该是:
if(text.length > minlength){
编辑:并且您的if需要在自动完成呼叫之前。现在它在选项的括号内。
此外,您必须跟踪何时达到最小长度。你需要一个onChange事件处理程序。
$('#patient_id').on('change', function() {
var text = $('#patient_id').val();
if(text.length > minlength){
//var text = $(this).val();
$('#patient_id').autocomplete({
...
})