jquery – 使用Ajax的Select2设置负载上的初始值

前端之家收集整理的这篇文章主要介绍了jquery – 使用Ajax的Select2设置负载上的初始值前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有select2控件设置与Ajax(有单和多)。我试图在页面加载有一些值,但我不能得到这个工作,但是。我的代码为select2如下:
  1. function AjaxCombo(element,url,multival ){ // multival = true or false
  2. multival = multival || false;
  3. $(element).select2({
  4. minimumInputLength: 2,multiple: multival,separator: '|',ajax: {
  5. url: url,dataType: 'json',data: function (term,page) {
  6. var targetname = $(this).attr('name');
  7. var target = targetname.slice(targetname.indexOf("[")+1,targetname.indexOf("]"));
  8. return {
  9. targettype: "search",target: target,search: term
  10. };
  11. },results: function (data,page) {
  12. return { results: data };
  13. }
  14. }
  15. });
  16. }
  17. AjaxCombo(".ajaxselect","includes/linkedcontrol.PHP",false);
  18. AjaxCombo(".ajaxmultiselect",true);

Ajax组合工作正常,我有麻烦只有初始值加载。我试过这个代码下面,但不能得到它的工作:

  1. initSelection : function (element,callback) {
  2. var elementText = $(element).attr('data-initvalue');
  3. callback(elementText);
  4. }

我的HTML从PHP返回如下:

  1. <input name='header[country]' class='ajaxselect' data-initvalue='[{"id":"IN","name":"India"}]' data-placeholder='Select Country' value='' />

我看到的值是从PHP填充,只有我的jquery有问题。我的控件中的值显示为US |美国。我想我编辑了select2源获得这个格式为默认,不使用格式选项。

任何人都可以帮助我填充默认值?提前致谢。

编辑:该问题涉及Select2版本< 4.0。此选项从v4.0中删除,现在要简单得多。

解决方法

您指定为initSelection的函数将使用初始值作为参数进行调用。因此,如果值为空,则不调用函数。 当你指定value ='[{“id”:“IN”,“name”:“India”}]’而不是data-initvalue时,函数调用,选择可以被初始化。

猜你在找的jQuery相关文章