为什么Ajax AutoComplete for jQuery不起作用?

时间:2011-08-26 05:18:00

标签: javascript jquery ajax jquery-autocomplete

我正在使用codeigniter和jax的Ajax AutoComplete

在我的jquery中我定义了这样的自动完成

    a = $('.city').autocomplete({
        serviceUrl: "<? echo $this->config->item('base_url'); ?>home/auth/city_autocomplete",
    });

.city是输入字段的类名

我的行动city_autocomplete就是这个

    function city_autocomplete(){

        $array = array('query'=>'Li','suggestions' => array('Liberia','Libyan Arab Jamahiriya','Liechtenstein','Lithuania'));                       
        echo  json_encode($array) ;
    }

我这里有硬线值

我的json_encoded数组就是这个

{"query":"Li","suggestions":["Liberia","Libyan Arab Jamahiriya","Liechtenstein","Lithuania"]}

当我在城市输入框中输入一个字母时,我可以看到上面的响应json数组,但问题是没有显示暗示线。当我检查

<div id="AutocompleteContainter_c6592" style="position: absolute; z-index: 9999; top: 590.85px; left: 533.383px;">

没有选项

为什么会发生这种情况,我以完全相同的方式做到了这一点并且它完美地工作,为什么suggessons没有显示。请帮助我............... :(

更新

这是我正在使用的图书馆

http://www.devbridge.com/projects/autocomplete/jquery/

1 个答案:

答案 0 :(得分:0)

我认为您不允许在CI的config.php中使用查询参数 允许查询参数

$config['enable_query_strings'] = TRUE;

OR用户ajax post方法

或替换jquery.autocomplete.js中的行

$.get(this.serviceUrl, me.options.params, function(txt) { me.processResponse(txt); }, 'text');

$.post(this.serviceUrl, me.options.params, function(txt) { me.processResponse(txt); }, 'text');