我需要使用 CAutoComplete 制作一个下拉列表。一切都已设置并且工作正常,这是我的操作代码:
<?php
public function actionSuggestCharacter() {
if(Yii::app()->request->isAjaxRequest && isset($_GET['q'])) {
$name = $_GET['q'];
$criteria = new CDbCriteria;
$criteria->condition='`Character` LIKE :keyword';
$criteria->params=array(':keyword'=>"$name%");
$criteria->limit = 5;
$suggestions = zCharacter::model()->findAll($criteria);
$returnVal = '';
foreach($suggestions as $suggestion) {
$returnVal .= $suggestion->Character."\n";
}
if (isset($suggestion)) {
echo $returnVal;
}
$criteria->condition='`Character` LIKE :keyword';
$criteria->params=array(':keyword'=>"%$name%");
$criteria->limit = 5;
$suggestions = zCharacter::model()->findAll($criteria);
$returnVal = '';
foreach($suggestions as $suggestion) {
$returnVal .= $suggestion->Character."\n";
}
if (isset($suggestion)) {
echo $returnVal;
}
}
}
?>
这段代码的作用是它显示前 5 个匹配项与开头的关键字匹配,接下来的 5 个匹配项与任何位置的关键字匹配。
例子。假设用户在输入字段“pdd”中输入(没关系,可以是任何文本),因此自动完成返回的结果如下所示:
1. pddtext...
2. pddtext...
3. pdd_some_other_text
4. pdd_text
5. pdd_text
1. text_text_pdd
2. text_pdd_text
3. etc...
问题是我需要用某种线(<hr>
或<div>
边框)将这两个块分开。我怎样才能做到这一点?
谢谢你。