javascript - Select2 - disable the user input choice -


i'm trying set datas ajax in select2 select...

but problem if write isn't in datas can select choice !

enter image description here

and take value "i don't exist" ... formatnomatches() function seems not called ...

js :

$(".select2-ajax").select2({ ajax: { url: "ajax.call.php", type:'post', datatype: 'json', data: function (params) {   return {     nom: params.term, // search chars     page: params.page,   }; }, processresults: function (data, page) { console.log(data.data); if(typeof(data.data)=='undefined' || !data.data || data.data.length <= 0)   var res = []; else {   var res = [];   (var = data.data.length - 1; >= 0; i--)    {     res.push({"text":data.data[i]["nom"]+' '+data.data[i]["prenom"],"id":data.data[i]["id_salarie"]});   }; } return { results: res}; }, cache: true  }, formatnomatches: function( term ) { return "<li class='select2-no-results'>' "+term+" ': aucun  résultat</li>"; },  allowclear: true, language: 'fr', multiple: false, 

i tried 2 following after seeing this question : ( still don't work )

selectonblur:false, createsearchchoice: false,    escapemarkup: function (markup) { return markup; }, minimuminputlength: 1, }); 

this should happen if returning option server matches text user entered or using tags option.

since don't appear using tags, , code doesn't include it, can ensure not issue overriding createtag (previously createsearchchoice return null.

$('select').select2({   createtag: function () {     // disable tagging     return null;   } }); 

Comments