ui-select2 icon indicating copy to clipboard operation
ui-select2 copied to clipboard

how fix 'select2' ('destroy')

Open sensugaz opened this issue 8 years ago • 4 comments
trafficstars

I get error 'select2' ('destroy') when changing route edit how fix it.

The select2('destroy') method was called on an element that is not using Select2.
angular.js:14525 TypeError: Cannot read property 'destroy' of undefined
    at HTMLSelectElement.<anonymous> (select2.js:5685)
    at Function.each (jquery.js:362)
    at jQuery.fn.init.each (jquery.js:157)
    at jQuery.fn.init.$.fn.select2 (select2.js:5675)
    at HTMLSelectElement.<anonymous> (select2.js:175)
    at HTMLSelectElement.dispatch (jquery.js:5206)
    at HTMLSelectElement.elemData.handle (jquery.js:5014)
    at Object.trigger (jquery.js:8201)
    at jQuery.fn.init.triggerHandler (jquery.js:8275)
    at Function.jQuery.cleanData (angular.js:2028)

sensugaz avatar Apr 14 '17 14:04 sensugaz

Try this. $element.data('select2').destroy();

nasri-zhang avatar Aug 25 '17 06:08 nasri-zhang

Starting on line 194 in select2.js, update the following lines of code to check if elem has class. If so, then call the appropriate functions.

   elm.bind("$destroy", function () {
      if (elm.hasClass('.select2-offscreen')) {
        elm.select2("destroy");
      }
    });
   attrs.$observe('disabled', function (value) {
      if (elm.hasClass('.select2-offscreen')) {
        elm.select2('enable', !value);
      }
    });

    attrs.$observe('readonly', function (value) {
      if (elm.hasClass('.select2-offscreen')) {
        elm.select2('readonly', !!value);
      }
    });

beta1007 avatar Aug 08 '18 01:08 beta1007

var select = $(".select2").select2(); select.select2('destroy'); your data set select.select2();

blogazhar avatar Aug 27 '18 04:08 blogazhar

$element.data('select2').destroy();

it breaks select2 in my side

spinningcat avatar Oct 05 '18 12:10 spinningcat