【发布时间】:2010-12-27 18:11:58
【问题描述】:
我需要使用 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> 带边框)。我该怎么做?
谢谢。
【问题讨论】:
-
您尝试使用标记而不是 CSS 的任何充分理由?
-
关于如何使用 CSS 做的任何好的建议? :-)
标签: php jquery drop-down-menu jquery-autocomplete yii