Javascript 如何在YII框架中建议CJuiAutocomplete中的多个列?

Javascript 如何在YII框架中建议CJuiAutocomplete中的多个列?,javascript,jquery,yii,Javascript,Jquery,Yii,我正在使用CJuiAutomcoplete小部件 一切正常,但我希望在建议列表框中显示多个列 我在jSON结构中连接“value”选项的字符串,但我想要的是ti有多个列 我发现jQueryUI使用li和ul html标记 我不知道如何创建包含列的列表框 有什么想法吗 致意 尼古拉斯 编辑: 我找到了我需要的东西。。。 但由于我使用yii,我无法理解如何添加块: .data(“自动完成”)。\u renderItem=功能(ul,项目){ 返回$(“”) .data(“item.autocom

我正在使用CJuiAutomcoplete小部件

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

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

我发现jQueryUI使用li和ul html标记

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

有什么想法吗

致意

尼古拉斯

编辑: 我找到了我需要的东西。。。

但由于我使用yii,我无法理解如何添加块:


.data(“自动完成”)。\u renderItem=功能(ul,项目){
返回$(“
  • ”) .data(“item.autocomplete”,item) .append(“+item.label+”
    “+item.desc+”) .附录(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处理程序(不要忘记将其包含在视图脚本中):

    框架只是一种工具。没有人限制你尽可能多地使用JS

    $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/',
        ),
        ...
    ));
    
    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
            });
    }