如何区分CAutoComplete

我是PHP初学者,刚学两个礼拜,直接接触的Yii,所以有很多很笨的问题。

比如说现在这个。我的view上有两个CAutoComplete。然后我把所有的suggest查询部分都写到了控制器的同一个action里面。希望通过分辨触发ajax的那个CAutoComplete的名字来进行不同的操作,返回不同的结果集。

但我马上发现自己并不知道如何获得CAutoComplete的名字,尝试了$_GET[‘name’]结果似乎无效。

因此发帖询问各位高手区分CAutoComplete的方法。

我的返回结果集用的action:




    public function actionAutoCompleteLookup()

    {

       if(Yii::app()->request->isAjaxRequest && isset($_GET['q']))

       {

          $pa = $_GET['q']; 

          $limit = min($_GET['limit'], 50); 

          $criteria = new CDbCriteria;

          if ($_GET['name']=='smc') //smc是其中一个CAutoComplete的name,但是这个判断方法似乎不对。 

          {

          

                //针对'smc'的返回值………………

          }

          if ($_GET['name']=='sxd') //smc是另一个CAutoComplete的name,但是这个判断方法似乎不对。 

          {

          

                //针对'sxd'的返回值………………

          }

          echo $returnVal;

       }

}




另外,如果不需要判断CAutoComplete名的话,我的代码返回的结果集是正常的。因此问题应该在于$_GET[‘name’]==那个判断上。

你既然是两个CAutoComplete,那你配置时,每个CAutoComplete总有url参数吧,你在url里,带上自己特定的GET参数就好了嘛^_^

拜谢!

问题解决了!我毕竟是php盲人,对于这些基本思路都没概念啊。

我在这里问了2次问题,都是在2小时内立刻获得答案的。这里的人实在是很热情啊。再次感谢!

我也刚学的,经常烦强哥,让别人烦烦也正常的^_^

多谢。顺便再问个奇怪的问题。

如果我希望这个CAutoComplete返回结果的那个下拉列表可以翻页的话要怎么改呢?还是得自己重新写个AutoComplete呢。