Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Ajax.autocompleter函数中填充的整个列表_Ajax_Scriptaculous_Autocomplete - Fatal编程技术网

在Ajax.autocompleter函数中填充的整个列表

在Ajax.autocompleter函数中填充的整个列表,ajax,scriptaculous,autocomplete,Ajax,Scriptaculous,Autocomplete,我已经使用Scriptaculous js框架的Ajax.autocompleter函数实现了自动完成功能。代码正在运行,但是我填充了整个列表,而不是只填充与我指定的字母匹配的条目。 这是我的代码: 这是获取自动建议条目的js函数 new Ajax.Autocompleter("autocomplete", "autocomplete_choices", "http://localhost/FormBuilder/forms/autoComplet

我已经使用Scriptaculous js框架的Ajax.autocompleter函数实现了自动完成功能。代码正在运行,但是我填充了整个列表,而不是只填充与我指定的字母匹配的条目。 这是我的代码:

这是获取自动建议条目的js函数

new Ajax.Autocompleter("autocomplete", "autocomplete_choices",
                        "http://localhost/FormBuilder/forms/autoComplete",{});
这是自动完成框以及填充条目的条目

<input type="text" id="autocomplete" name="autocomplete_parameter"/>
     <div id="autocomplete_choices" class="autocomplete"></div>

但是假设我键入字母“p”,我会得到整个用户列表,而不是显示以字母“p”开头的列表。为什么我会遇到这个问题?我哪里出错了?

嗯,我找到了答案。。实际上是个错误。我应该将paramName选项添加到Ajax.autocompleter函数中,并且应该在controller函数中的$\u请求方法中获取值

new Ajax.Autocompleter("autocomplete", "autocomplete_choices",
                       "http://localhost/FormBuilder/forms/autoComplete",
                        {paramName:"autocomplete"});

function autoComplete()
{
   $userName=$_REQUEST['autocomplete'];
   $this->set('users',$this->User->find('all',array(
                                     'fields'=>array('User.id','User.name'),
                          'conditions'=>array('User.name LIKE' => $userName.'%'))
                                                                    )
              );
   $this->layout = "ajax";
}
现在我只得到以字母表开头的条目

new Ajax.Autocompleter("autocomplete", "autocomplete_choices",
                       "http://localhost/FormBuilder/forms/autoComplete",
                        {paramName:"autocomplete"});

function autoComplete()
{
   $userName=$_REQUEST['autocomplete'];
   $this->set('users',$this->User->find('all',array(
                                     'fields'=>array('User.id','User.name'),
                          'conditions'=>array('User.name LIKE' => $userName.'%'))
                                                                    )
              );
   $this->layout = "ajax";
}