搜索元素无相

Search element aphabetical

本文关键字:元素 搜索      更新时间:2023-09-26

我正在编写一个函数以对搜索元素执行自动完成,但是当我搜索特定名称时,自动完成不会按字母顺序显示,这是我的模型和控制器中的代码。

这是我的模型,我已经取消了对订单行的注释,因为它在选择上显示下拉列表,没有任何内容,但是单击时,您可以看到id回显而没有标签/名称。像这样的代码给了我空值。例如

{
    public function getName($term)
    $select = $this ->select($term);  
      $select    ->where('name LIKE ?', '%'.$name)
                 ->order('name ASC')
      }            ->limit(0,20);
public function searchEnterprise($term)
        {
            $select = $this ->select()
                    ->where('name LIKE ?', $term . '%')
                    //->order('name')
                    ->limit(10);
            return $this->fetchAll($select);
        }

//控制器

public function acEnterpriseAction()
{
    $phrase = $this->getRequest()->getParam('phrase');
    $mdlEnt = new Model_Enterprise();
    $results = $mdlEnt->searchEnterprise($term);
    $arr_rtn = array();
        foreach($results as $result)
        {
            $myarr = array( 'label' => $result->name,
                            'value'    => $result->id,
                            'id' => $result->id                             
                            );
            array_push($arr_rtn, $myarr);
        }   
    echo Zend_Json::encode($arr_rtn);
}

尝试按名称对 json 进行排序:

foreach($results as $result)
{
    $myarr[$result->name] = array('label' => $result->name,
                                  'value' => $result->id,
                                  'id'    => $result->id                             
                                  );
}   
ksort($myarr);
foreach($myarr as $name => $arr){
    array_push($arr_rtn, $arr);
}
echo Zend_Json::encode($arr_rtn);

并使用 good 参数调用searchEnterprise

$results = $mdlEnt->searchEnterprise($phrase);

我在Jquery中给出了自动完成的链接,你可以参考Jquery并对Java脚本进行一些更改。Jquery 自动完成示例