JQuery自动完成-多个数据post不工作

JQuery Autocomplete - multiple data post not working

本文关键字:数据 post 工作 JQuery      更新时间:2023-09-26
        $("#textjawatan" + noid).autocomplete({
            source: function( request, response ) {
                $.ajax({
                    url: "pendaftar_table.php",
                    dataType: "json",
                    data: { term : "pe" } ,
                    success: function( data ) {
                        response( data );
                    }
                    });
            },
            minLength: 2,
            select: function(event, ui) { 
                    $("input#jawatan" + noid).val(ui.item.no);
            }
        });

使用

data: {term: "pe"}

可以工作,但是当我使用

data: {term: "pe", id: " java "}

它不工作,是什么问题

其实我不久前就遇到了这个问题。让我简短地解释一下。

正如jQuery Autocomplete在他们的网站http://api.jqueryui.com/autocomplete/中解释的那样,jQuery Autocomplete 只接受TERM作为服务器的输出。让我引用一下

Function:第三种变体是回调,提供的功能最多灵活,可用于将任何数据源连接到自动完成。回调函数有两个参数:一个请求对象,带属性中的当前值文本输入。例如,如果用户在城市字段中输入"new yo",自动补全项将等于"new yo"。一个响应回调,它期望一个参数:向用户建议的数据。这个数据应该根据所提供的术语进行筛选,并且可以在上面描述的格式用于简单的本地数据。重要的是过程中提供自定义源回调来处理错误请求。您必须始终调用响应回调,即使您遇到错误。这可确保小部件始终具有正确状态。

换句话说,即使你在json字典中添加250个额外的哈希值,它也只能在服务器端工作。

我是如何解决这个问题的?

我做的是这样的。基于jQuery文档,源也可以是一个数组,所以我做了一个ajax调用我的服务器设置jQuery自动完成,然后提供自动完成插件。

注意:这不是一个很好的修复,我知道它。但由于我的工作细节,我不得不这样做,这只是一个选项。