我有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中删除,现在要简单得多。