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

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

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

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

我的HTML从PHP返回如下:

<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相关文章