0

我从“admin/ajax.php”文件中得到了正确的 JSON 结果。示例:首先我输入 1 并获得许多记录,但它没有显示在建议下拉列表中。但是当我输入 9 时,这意味着在文本框 19 中,它会在下拉列表中显示我上面的记录,而不是 19 的结果。

<input type="text" id="invoice_id1" size="20" name="invoice_no" value="" 
    class="ui-widget" onkeyup="find_suggestion(invoice_id1,memberid,this.value);" />

<script>
    function find_suggestion(div_id,memberid,invoice){
        $.post("admin/ajax.php?action=invoice_suggestions", 
            {div_id: div_id,memberid:memberid,invoice:invoice},
            function(data){
                if(data){
                    var tags = data
                    $( "#"+div_id).autocomplete({source: tags});
                }

            }
            , "json"
        );
    }
</script>
4

1 回答 1

1

一种更传统的方法是使用函数作为执行 ajax 调用的源。我会onkeyup完全移除它,然后将它附加在准备好的或负载上。

我不确定您为什么要经过 thediv_id或从哪里来memberid。我也不清楚您为什么要发布而不是获取。如果您提供更多详细信息,我可以进一步提供帮助。

$("#invoice_id1").autocomplete({
    source: function (request, response) {
        $.post({
            url:"admin/ajax.php?action=invoice_suggestions",
            dataType: "json",
            data: {div_id: '#invoice_id1',
                   memberid:memberid,
                   invoice:this.value
            },
            success: function(data) { 
                     response( return data; ) 
            }
     }),
     minLength: 1
});
于 2013-03-16T03:14:59.113 回答