Уничтожить, если мультиселект уже запущен

Я позвоню initProductSelect который запускает множественный выбор JQuery UI

$handler.multiselect({...})

Но я обнаружил некоторые проблемы, когда во-вторых вызвать `` initProductSelect, without destroy, but if I call handler.multiselect('destroy').multiselect({...}) the very first time I callinitProductSelect`, ошибка произойдет, так как она еще не инициирована, я ищу документ http://www.erichynds.com/blog/jquery-ui-multiselect-widget но не могу найти метод, подобный isInit.

Должен ли я хранить переменную возвращает из var $multiselect=$handler.multiselect({...}) некоторые где глобально, и проверить if($multiselect==null)?

1 ответ

Просто добавьте класс к элементу, что-то вроде "Уже Инициировано", чтобы знать, что он был инициализирован, и пропустите инициацию для этого. Подобно:

 function initProductSelect() {
  if $handler.hasClass("alreadyInited") return;
  else $handler.multiselect({...})
 }
Другие вопросы по тегам