如何修改JQuery自动完成字符大于指定长度



我在我的应用程序中编写了一个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({
...
})

最新更新