initSelection n'est pas appelé dans le plugin jQuery select2
Je suis en utilisant select2 plugin jquery de http://ivaynberg.github.io/select2/.
Je suis à l'aide de code suivant.
$(document).ready(function () {
$("#e6").select2({
placeholder: "Search for a movie",
minimumInputLength: 1,
ajax: { //instead of writing the function to execute the request we use Select2's convenient helper
url: "http://api.rottentomatoes.com/api/public/v1.0/movies.json",
dataType: 'jsonp',
quietMillis: 1000,
data: function (term, page) {
return {
q: term, //search term
page_limit: 10,
apikey: "ju6z9mjyajq2djue3gbvv26t" //please do not use so this example keeps working
};
},
results: function (data, page) { //parse the results into the format expected by Select2.
//since we are using custom formatting functions we do not need to alter remote JSON data
return { results: data.movies };
}
},
initSelection: function (element, callback) {
var id = 9942;//$(element).val();
alert('initSelection');
if (id !== "") {
$.ajax("http://api.rottentomatoes.com/api/public/v1.0/movies/" + id + ".json", {
data: {
apikey: "ju6z9mjyajq2djue3gbvv26t"
},
dataType: "jsonp"
}).done(function (data) { callback(data); });
}
},
formatResult: movieFormatResult, //omitted for brevity, see the source of this page
formatSelection: movieFormatSelection, //omitted for brevity, see the source of this page
dropdownCssClass: "bigdrop", //apply css that makes the dropdown taller
escapeMarkup: function (m) { return m; } //we do not want to escape markup since we are displaying html in results
});
});
$(document).ready(function () {
$("#e6").on("select2-selecting", function (e) {
var v = 10;
alert("selecting val=" + e.val + " choice=" + JSON.stringify(e.choice));
var id = document.getElementById('<%= savebtn.ClientID %>');
id.value = e.val;
id.click();
});
});
Problème: Pour certaines raisons initSelection n'est pas appelé et de ce fait, je ne suis pas en mesure de définir une valeur pour la zone de texte à travers l'après-dos.
Je suis en utilisant le chargement à distance des données exemple de http://ivaynberg.github.io/select2/ site.
J'ai regardé la la documentation pour initSelection et il dit "Cette fonction sera appelée uniquement lorsqu'il y a apport initial pour être traitées.", Je ne suis pas sûr de ce qu'il signifie.
Je fais quelque chose de mal? S'il vous plaît aider
source d'informationauteur SharpCoder
Vous devez vous connecter pour publier un commentaire.
Vous devez fournir la valeur initiale:
ou
Pour plusieurs valeurs, soit:
ou
Voir JSFiddle.
Vous pouvez le faire tout simplement comme cela si vous ne voulez pas utiliser une valeur par défaut.
Ajoutant
select2('val', []);
à la fin de la déclaration de résoudre ce problème.Eh bien c'est ce que je fais pour les situations plus complexes, car s'il est pas contrôlée initalvalue est enregistré dans la base de données (en coffeescript)
Utiliser ceci:
supprimer le précédent options options:
et créer un nouvel élément sélectionné:
pas le meilleur moyen mais fonctionne