使用YII Framework的Select2 Ajax选项

恰普斯基夫

我在一个项目上使用Yii框架,并且正在使用使用select2 jquery的扩展。我无法掌握此扩展或select2的ajax实现方式。

我的ajax调用返回以下json。

    [
    {"id":"1", "text" : "Option one"},
    {"id":"1", "text" : "Option one"},
    {"id":"1", "text" : "Option one"}
    ]

yii扩展名如下包围了select2扩展名

$this->widget('ext.select2.ESelect2', array(
                    'name' => 'selectInput',
                    'ajax' => array(
                       'url'=>Yii::app()->createUrl('controller/ajaxAction'),
                        'dataType' => 'json',
                        'type' => 'GET',
                        'results' => 'js:function(data,page) { 
  var more = (page * 10) < data.total; return {results: data, more:more };
                             }',
                        'formatResult' => 'js:function(data){
                                 return data.name;
                              }',
                        'formatSelection' => 'js: function(data) {
                                return data.name;
                              }',
                    ),
                ));

我从这个问题中找到了一个相关的问题扩展名使用的链接是YII select2 Extension

恰普斯基夫

所以一个星期后,我与这个问题的答案合并了。

首先,让我强调一下select2 ajax或在我的情况下如何使用Yii ESelect Extension。

jQuery的ajax选项与Eselect Extension相同,即url,type和datatype,在成功查询后返回的格式略有不同。

至于Eselect / select2的结果集,期望返回两个参数。那是

id : data.myOptionsValue;
text : data.myOptionText;

参考:: https://select2.github.io/options.html#ajax

如果我们要为重新设置的结果集自定义格式,我们可以通过使用以下方法扩展插件

 'formatResult' => 'js:function(data){
                                     return data.name;
                                  }',
                            'formatSelection' => 'js: function(data) {
                                    return data.name;
                                  }',

我也遇到了一个问题,即如何解决扩展问题。环顾四周,我意识到我们有两个数据类型jsonp和json,这两个数据类型将以不同的方式处理数据。

Jsonp(JSON填充)允许在查询时发送查询参数。就我而言,我没有传递任何其他参数,例如authkey等。就我而言,我将数据类型更改为json并返回了一个带有id和text的json作为结果。请参见下面的工作片段。

 echo CHtml::textField('myElementName', '', array('class' => 'form-control col-lg-12'));
$this->widget('ext.select2.ESelect2', array(
                'selector' => '#myElementName',
                'options' => array(
                    'placeholder' => 'Search ..',
                    'ajax' => array(
                        'url' => Yii::app()->createUrl('controller/ajaxAction'),
                        'dataType' => 'json',
                        'delay' => 250,
                        'data' => 'js: function(term) {
                    return {
                        q: term,
                    };
                }',
                        'results' => 'js: function(data){


                return {results: data }
            }',
                    ),
                ),
            ));

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Select2不使用我的templateResults或templateSelection选项

来自分类Dev

Select2搜索选项

来自分类Dev

使用Ajax的jQuery Select2插件

来自分类Dev

select2使用ajax加载数据无法选择任何选项

来自分类Dev

Select2 JS使用Ajax加载远程数据

来自分类Dev

使用jQuery Select2搜索时隐藏选项

来自分类Dev

用户使用select2更改所选项目的字体颜色

来自分类Dev

Select2在通话中使用动态Ajax URL

来自分类Dev

Select2 4.0.0 AJAX-使用Tab选择突出显示的选项

来自分类Dev

替换select2选项?

来自分类Dev

使用jQuery以编程方式选择select2选项

来自分类Dev

使用select2中的选项文本(不使用值)选择下拉菜单

来自分类Dev

在rails表单字段中使用select2的选定选项值

来自分类Dev

如何使用select2初始化默认值并触发ajax请求(select2:select)?

来自分类Dev

使用Ajax和Django填充SELECT选项

来自分类Dev

当Ajax响应来自使用laravel控制器的select2时,如何检查JQuery附加选项中的条件?

来自分类Dev

无法使用select2和django添加空选项字段

来自分类Dev

如何使用Select2和远程数据禁用某些选项

来自分类Dev

SELECT2 Ajax-预加载的选项

来自分类Dev

yii select2 AJAX错误-data.call不是函数

来自分类Dev

使用select2 ajax数据更新隐藏的输入

来自分类Dev

如何从.select2()Ajax调用内部获取<select>的data属性以供select2使用?

来自分类Dev

使用select2中的选项文本(不使用值)选择下拉菜单

来自分类Dev

Select2 4.0.3无法使用Ajax调用填充其他select2字段

来自分类Dev

如何使用选择的选项克隆select2?

来自分类Dev

Select2 Ajax无法选择从API提取的选项

来自分类Dev

如何获取yii2 select2小部件的选定选项的值

来自分类Dev

如何在 yii kartik 小部件 select2 和 ajax 上使用多选

来自分类Dev

克隆 select2 选项

Related 相关文章

  1. 1

    Select2不使用我的templateResults或templateSelection选项

  2. 2

    Select2搜索选项

  3. 3

    使用Ajax的jQuery Select2插件

  4. 4

    select2使用ajax加载数据无法选择任何选项

  5. 5

    Select2 JS使用Ajax加载远程数据

  6. 6

    使用jQuery Select2搜索时隐藏选项

  7. 7

    用户使用select2更改所选项目的字体颜色

  8. 8

    Select2在通话中使用动态Ajax URL

  9. 9

    Select2 4.0.0 AJAX-使用Tab选择突出显示的选项

  10. 10

    替换select2选项?

  11. 11

    使用jQuery以编程方式选择select2选项

  12. 12

    使用select2中的选项文本(不使用值)选择下拉菜单

  13. 13

    在rails表单字段中使用select2的选定选项值

  14. 14

    如何使用select2初始化默认值并触发ajax请求(select2:select)?

  15. 15

    使用Ajax和Django填充SELECT选项

  16. 16

    当Ajax响应来自使用laravel控制器的select2时,如何检查JQuery附加选项中的条件?

  17. 17

    无法使用select2和django添加空选项字段

  18. 18

    如何使用Select2和远程数据禁用某些选项

  19. 19

    SELECT2 Ajax-预加载的选项

  20. 20

    yii select2 AJAX错误-data.call不是函数

  21. 21

    使用select2 ajax数据更新隐藏的输入

  22. 22

    如何从.select2()Ajax调用内部获取<select>的data属性以供select2使用?

  23. 23

    使用select2中的选项文本(不使用值)选择下拉菜单

  24. 24

    Select2 4.0.3无法使用Ajax调用填充其他select2字段

  25. 25

    如何使用选择的选项克隆select2?

  26. 26

    Select2 Ajax无法选择从API提取的选项

  27. 27

    如何获取yii2 select2小部件的选定选项的值

  28. 28

    如何在 yii kartik 小部件 select2 和 ajax 上使用多选

  29. 29

    克隆 select2 选项

热门标签

归档