2016-05-06 13 views
0

verwendet habe ich eine select2 initialisiert:Select2 - Platzhalter nicht gezeigt, wenn benutzerdefinierte Vorlage

$("#myInput").select2({ 
    ajax: { 
    url: /url/to/get', 
    dataType: 'json', 
    delay: 250, 
    data: function(params) { 
     return { 
      code: params.term 
     }; 
    }, 
    processResults: function(data) { 
     return { 
      results: data 
     }; 
    }, 
    cache: true 
    }, 
    escapeMarkup: function (markup) { return markup; }, 
    templateResult: formatResult, 
    templateSelection: formatSelection, 
    minimumInputLength: 1, 
    allowClear: true, 
    placeholder: 'Select data' 
}); 

Leider Platzhalter für leeren Wert werden nicht zeigen.

Wenn Entfernen benutzerdefinierte Vorlage für Ergebnis:

$("#myInput").select2({ 
    ajax: { 
    url: /url/to/get', 
    dataType: 'json', 
    delay: 250, 
    data: function(params) { 
     return { 
      code: params.term 
     }; 
    }, 
    processResults: function(data) { 
     return { 
      results: data 
     }; 
    }, 
    cache: true 
    }, 
    minimumInputLength: 1, 
    allowClear: true, 
    placeholder: 'Select data' 
}); 

Hier sind meine Vorlagen:

function formatResult(repo) { 
    if (repo == null) return ""; 

    if (repo.loading) return repo.brief; 

    var markup = "<div class='clearfix' style='padding-top: 4px; padding-bottom: 3px; '>"; 
    markup += "<div style='color: black; font-size:12px; font-weight: bold; word-wrap: break-word; line-height: 0.9; margin-bottom: 4px; '>"; 
    markup += repo.city + "</div>"; 

    markup += "<div style='font-size: 9px; color: #777; margin-top: 4px;'>"; 
    markup += repo.postCode + ", " + repo.voivodeship; 
    markup += "</div></div>"; 

    return markup; 
} 

function formatSelection(postCode) { 
    if (postCode == null) return ""; 
    return postCode.postCode; 
} 

Soll ich etw in Vorlage?

Antwort

1

Wenn Sie v4 verwenden, müssen Sie <select ></select> und nicht <input> verwenden, um Ihre select2 zu binden.

Die Verwendung eines Eingabeelements in v4 verursacht einige Probleme, da die Eingabe nicht mehr unterstützt wird. Ich glaube, ich hatte ähnliche Probleme und sobald ich mein Eingabeelement in ein Auswahlelement geändert habe, ist alles gut gelaufen.

+0

Ich verklamme bereits '