Php Yii中的多个CJuiAutocomplete-项目未呈现

Php Yii中的多个CJuiAutocomplete-项目未呈现,php,jquery,autocomplete,yii,itemrenderer,Php,Jquery,Autocomplete,Yii,Itemrenderer,我需要两个CJuiAutocomplete项目在我的查看页面。不幸的是,其中只有一个正确地呈现了项目。另一个-呈现空行。我签入了firebug,并且正确地从数据库中检索到了值。实际上,如果我更改了registerScript的顺序,则只有来自上一个registerScript的自动完成才能正确地呈现项目 这是我的密码: <?php $this->widget('zii.widgets.jui.CJuiAutoComplete', array( 'name' =

我需要两个CJuiAutocomplete项目在我的查看页面。不幸的是,其中只有一个正确地呈现了项目。另一个-呈现空行。我签入了firebug,并且正确地从数据库中检索到了值。实际上,如果我更改了
registerScript
的顺序,则只有来自上一个
registerScript
的自动完成才能正确地呈现项目

这是我的密码:

<?php
    $this->widget('zii.widgets.jui.CJuiAutoComplete', array(
        'name' => 'autocities',
        'sourceUrl'=>$this->createUrl('projects/dynamicGetCities'),
        'options' => array(
            'minLength' => 2,
            'select' => "js: function(event, ui) {
                        $('#lastSelectedCityId').val(ui.item.idCity);
                        var ciname = ui.item.name + ' (' + ui.item.directional + ')';
                        $('.selectedCity').html(ciname);
                    }
                "
        ),
    ));
?>
<br/><br/>
<?php
    $this->widget('zii.widgets.jui.CJuiAutoComplete', array(
        'name' => 'autostreets',
        'sourceUrl' => 
            'js: function(request, response) {
                $.ajax({
                    url: "'.$this->createUrl('projects/dynamicGetStreets').'",
                    dataType: "json",
                    data: {
                        term: request.term,
                        idCity: $("#lastSelectedCityId").val()
                    },
                    success: function (data) {
                        response(data);
                    } 
        })}',
        'options' => array(
            'minLength' => 2,
            'select' => "js: 
                function(event, ui) 
                {
                    $('#lastSelectedStreetId').val(ui.item.idStreet);
                    $('.selectedStreet').html(ui.item.name);
                }"
        ),
    ));

    Yii::app()->clientScript->registerScript('input', '
        $("#autostreets").data("autocomplete")._renderItem = function( ul, item ) {
        return $( "<li></li>" )
        .data( "item.autocomplete", item )
        .append( "<a>"+item.name+"<br/><span style=\"font-size: 9px;\">Abonentów: "+item.customCount+"</span></a>")
        .appendTo( ul );
    };');

    Yii::app()->clientScript->registerScript('input', '
        $("#autocities").data("autocomplete")._renderItem = function( ul, item ) {
        return $( "<li></li>" )
        .data( "item.autocomplete", item )
        .append( "<a>"+item.name + " - " + item.directional+"<br/><span style=\"font-size: 9px;\">Abonentów: "+item.customCount+"</span></a>")
        .appendTo( ul );
    };');
?>

搜索了这么多,在这里问了这么多之后,我发现了它。
方法
registerScript
中的答案很简单-第一个参数是脚本的唯一id。两次id都是相同的,因此它将覆盖上一次。谢谢