如何使用AJAX填充select2小部件?

时间:2012-12-04 17:17:17

标签: ajax yii yii-extensions jquery-select2

当我在我的小部件中输入几个字符时,我从AJAX中得到这样的结果:

[{"id":550,"campName":"IB Resi Showtime Rebate Website"},{"id":60,"campName":"OB ACGBK EB"}]

但是,我错过了关于如何使用这些结果填充小部件的部分。

以下是我用于窗口小部件的代码:

$this->widget
(
        'ext.ESelect2-master.ESelect2',
        [
            'selector'=>'#campaigns',
            'options'=>
            [
                'tags'=>$tags,
                'allowClear'=>true,
                'minimumInputLength' => 2,
                'width'=>'300px',
                'multiple'=>true,
                'placeholder'=>'Campaigns',
                'ajax'=>
                [
                    'url'=>Yii::app()->createUrl('CoxReports/autoCompleteCampaigns'),
                    'dataType'=>'json',
                    'data'=>'js:function(term,page){return{q: term, page_limit: 10, page: page};}',
                    'results'=>'js:function(data,page){ return {results:data};}'
                ]
            ]
        ]
);

我错过了什么?

1 个答案:

答案 0 :(得分:1)

您在小部件中缺少formatResultformatSelection定义。 请参阅this code for an example

结果由带有自定义标记的formatResult函数处理,结构与您的类似。