从另一个自动填充字段填充的Yii自动完成

时间:2014-03-26 07:56:35

标签: jquery yii autocomplete

在这里和那里爬行之后,我试图在Yii中设置另一个自动完成的自动完成。

第一次自动完成效果很好! 对于第二个代码,代码缺少成功数据的部分我真的在那里如何将它“链接”到代码末尾的_renderItem ???。

任何帮助表示赞赏!

<?php
// First AUTOCOMPLETE
$this->widget('zii.widgets.jui.CJuiAutoComplete', array(
    'model'=> $model,
    'attribute'=>'esarticle',
    'value' =>$this->createUrl('Utility/autocomplete', array('id'=>'cpl_esarticle','model'=>'Entresortie')),
    'source'=>$this->createUrl('Utility/autocomplete', array('id'=>'cpl_esarticle','model'=>'Entresortie')),
    'options'=>array(
        'focus'=> 'js:function( event, ui ) {
            $( "#Entresortie_esarticle" ).val( ui.item.esarticle );
            return false;
            }',
        'select'=>'js:function( event, ui ) {
            $( "#Entresortie_esarticle" ).val( ui.item.esarticle );
            return false;
            }'),
        'htmlOptions'=>array(
            'size'=>12,
            'maxlength'=>14,
            'autofocus'=>'autofocus',
         ),));

// Second AUTOCOMPLETE
$quotedUrl = $this->createUrl('entresortie/cpl_eslot');
$this->widget('zii.widgets.jui.CJuiAutoComplete', array(
    'model'=> $model,
    'attribute'=>'eslot',
    'value' =>$this->createUrl('Utility/autocomplete', array('id'=>'cpl_eslot','model'=>'Entresortie')),
    'source'=>'js:function(request, response) {
        $.ajax({
            url: "'. $quotedUrl . '",
            data: { "term": request.term, "art":$( "#Entresortie_esarticle" ).val() },
            success: function(data) { response(data); }
            });
    }',
    'options'=>array(
           'focus'=> 'js:function( event, ui ) {
               $( "#Entresortie_eslot" ).val( ui.item.eslot );
               return false;
            }',
            'select'=>'js:function( event, ui ) {
                $( "#Entresortie_eslot" ).val( ui.item.eslot );
                return false;
            }'),
     'htmlOptions'=>array(
         'size'=>12,
         'maxlength'=>14,
         'autofocus'=>'autofocus',
      ),));

// Additional script to fill the autocomplete list
Yii::app()->clientScript->registerScript('input', '
    $("#Entresortie_esarticle").data("autocomplete")._renderItem = function( ul, item ) {
        return $( "<li></li>" )
            .data( "item.autocomplete", item )
            .append( "<a>"+item.esarticle+"</a>")
            .appendTo( ul );
        };
     $("#Entresortie_eslot").data("autocomplete")._renderItem = function( ul, item ) {
        return $( "<li></li>" )
            .data( "item.autocomplete", item )
            .append( "<a>"+item.eslot+"</a>")
            .appendTo( ul );
        };');
 ?>

0 个答案:

没有答案