javascript - 如何在 YII 框架的 CJuiAutocomplete 中建议多列?

标签 javascript jquery yii

我正在使用 CJuiAutomcoplete Widget。

一切正常,但我想在建议列表框中显示多个列。

我在 jSON 结构中为“值”选项连接字符串,但我想要的是 ti 有多个列。

我发现 Jquery UI 使用 li 和 ul html 标签 ...

我不知道如何创建包含列的列表框!

有什么想法吗?

最好的问候

尼古拉斯

编辑: 我找到了我需要的东西...... http://jqueryui.com/demos/autocomplete/#custom-data

但是因为我使用 yii 我不知道如何添加 block :


 .data( "autocomplete" )._renderItem = function( ul, item ) {
      return $("<li></li>" )
     .data( "item.autocomplete", item )
     .append( "<a>" + item.label + "<br>" + item.desc + "</a>" )
     .appendTo( ul ); };

因为我对 jQuery 几乎一无所知,所以我不明白“.data”方法的作用。

再次问候......

最佳答案

我已经通过覆盖内置处理程序解决了这个问题:

$controller->widget('zii.widgets.jui.CJuiAutoComplete', array(
    ...
    'source'    => 'js: foreignKeyQuery',  //overriding
    'options'   => array( //passing params from Yii view script
        'delay' => 700,
        'sourceUrl' => Yii::app()->request->baseUrl.'/ajax/search/',
    ),
    ...
));

像这样的 JS 处理程序(不要忘记将其包含在 View 脚本中):

function foreignKeyQuery(request, response)
{
    var params = {
        'term': request.term,  //default param
        'protest': 'Pussy Riot'  //free params
        ...
    };  //Of course you may get params in any way, and using "this"

    $.ajax(this.options.sourceUrl, {
            type: 'post',
            dataType: 'json',
            data: params,
            success: response
        });
}

框架只是一个工具。没有人会限制您随心所欲地使用 JS。

关于javascript - 如何在 YII 框架的 CJuiAutocomplete 中建议多列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11864669/

相关文章:

php - 如何在 yii 中编写这个查询?

php - 在 Yii 中将当前日期加 1 个月

javascript - 如何在 react 中从另一个组件调用组件引用?

javascript - Bootstrap Navbar 下拉移动问题

javascript - 将值发送到单击的项目

javascript - 文本框事件绑定(bind)和文本框值

jquery for 循环 : for each hovered link show related hidden div next to hovered link

javascript - 语法错误 : Invalid character '\u8203'

php - 未选中的复选框通过 Jquery 返回值为 "undefined"

sql - 如何在 yii 中编写此查询并在不使用 foreach 循环的情况下打印它?