$(function(){ $.activateSelect2 = function(){ $('select[data-selectdue="true"]').each($.activateSelect2Element); }; $.activateSelect2Element = function(){ var el = $(this); if (el.data('select2activated')) return true; el.data('select2activated', true); var dropdownParent; if (el.parents('div.modal').length > 0) dropdownParent = el.parents('div.modal'); var placeholder = el.data('placeholder'); if (el.data('search_url')) { el.select2({ allowClear: true, placeholder: placeholder, minimumInputLength: 2, dropdownParent: dropdownParent, ajax: { url: el.data('search_url'), method: 'GET', dataType: 'json', } }); } else if (el.data('preload_url')) { el.after('

'); el.hide(); $.ajax({ dataType: "json", method: 'GET', url: el.data('preload_url'), success: function(result){ // var values = ['MTAFRZ73T18L736U CIRDFA-DRAG-SPESE|Fabrizio AMATO - CIRDFA-DRAG-SPESE', 'DCCGCR73M22F158M DMA-DRAG-TENS|Giancarlo DE CICCO - DMA-DRAG-TENS']; // CREO I VALORI PREDEFINITIN IN BASE ALL'ATTRIBUTO data-values var values = el.data('values'); if (!values) values = []; if (!Array.isArray(values)) { console.log("Valori predefiniti errati"); values = []; } values.forEach(function(val){ var my_option = result.find(function(row){ return row.id == val; }); if (!my_option) my_option = {id: val, text: `UNDEF ${val}`} var new_option = document.createElement("option"); new_option.value = my_option.id; new_option.innerHTML = my_option.text; new_option.setAttribute('selected', 'selected'); el.append(new_option); }); // per la select2 multipla non deve essere presente l'elemento vuoto if (el.attr('multiple') != 'multiple') result.unshift({'id': '', 'text': ''}); el.next('p.placeholder-glow').remove(); el.show(); el.select2({ allowClear: true, placeholder: placeholder, selectOnClose: false, dropdownParent: dropdownParent, data: result }); } }); } else { el.select2({ dropdownParent: dropdownParent, }); } }; setTimeout($.activateSelect2, 250); });