Javascript、repeaterの中にselect2を用いたinputをセットした際に2つフォームができてしまう問題を解消する。

repeaterの中にタグをいい感じに紐付ける事ができるselect2を使用すると、repeaterで2つ目のDOMを構築した際にselect2を施しておいた入力項目が何故か2つになってしまいます。

以上の問題にrepeaterで複製時に一旦select2のspanを削除してから再びselect2を設定してやると回避されました。

    $('.repeater').repeater({
      show: function() {
        window.kimera.initItem(this
        // ここで一旦select2を削除
        $(this).find('span[class*=\'select2\']').remove();

        // 再びselect2を設定
        $(this).find('select[class*=\'[select2]\']').select2(); // select2を設定している任意のselectをfindしてください

        $(this).show();
      }
    });