如何在yii中创建自定义自动填充文本字段
我是yii的新手。 我需要编写自定义yii自动完成。我知道CJuiAutocomplete就在那里。但我需要实现自己的自定义自动完成。 任何人都可以指导我或帮助我开发自定义自动填充文本字段。 在文本字段中显示名称时获取id。
提前致谢
这是站点控制器中的一个动作……
public function actionAutoComplete($term){ $query = Yourmodel::model()->findallbyattributes( array('somecolumn'=>$term)); $list = array(); foreach($query as $q){ $data['value']= $q['id']; $data['label']= $q['name']; $list[]= $data; unset($data); } echo json_encode($list); }
这是您视图中的搜索表单:
$form=$this->beginWidget('CActiveForm', array( 'id'=>'searchform', 'enableAjaxValidation'=>false, 'action' => '/' )); ?> endWidget(); ?>
因为这种情况
array('somecolumn'=>$term)
只有在你写完整字符串时它才会显示结果。 例如,你有[‘咖啡’,’蛋糕’]。 当您在搜索框中键入时,它不会显示coff,cof,co,ca,cak等的结果。只有在您输入完整的单词咖啡时才显示结果,您将得到[‘咖啡’]作为结果。
所以你需要这样的东西:
$match = $_GET['term']; $tags = Tags::model()->findAll( 'tag_name LIKE :match', array(':match' => "%$match%") );
这将显示coff,cof,co,ca,cak等的结果。