0

フォームにコンボボックスを作成できるように、Selectize ライブラリを使用しようとしています。

したがって、私のフォームにはドロップダウンを動的に追加する方法があります(コンボボックスにしたい)ので、ユーザーが新しいドロップダウンを追加するたびに、 Selectize コンボボックスをそれに適用したいと思います。したがって、新しいドロップダウンを追加する関数内で、追加した後、次のコードを使用します。

$('select').each(function() {
  if (!$(this).is('selectized')) {
    $(this).selectize({
      create: true,
      sortField: 'text'
    });
  }
});

これは、まだ Selectized コンボ ボックスが適用されていないドロップダウンにのみ適用されると思っていましたが、何か問題が発生しています。基本的には新しいコンボボックスに適用していますが、既存のコンボボックスで奇妙なことが起こっています。毎回、ある種の空白のドロップダウンを追加しています。

周りを見回そうとしましたが、新しく追加された選択フィールドをコンボボックス化するための「公式」ソリューションが見つかりません。それが私がそれをどのように適用しているかに問題があるのか​​ 、それともtwitterのブートストラップ、jquery-ui、またはjquery自体とのある種の奇妙な競合なのかはわかりません(それらすべてをフィドルに含めました)

とにかく、この問題を実際に確認できるリンクは次のとおりです。

http://jsfiddle.net/Qz7Ar/2/

誰もこれを経験したことがありますか、ここで何が起こっているのか知っていますか?

編集:

また、jquery-ui とブートストラップを削除するフォークを作成したため、jquery (Selectize に必要) と Serialze だけで、問題はまだ発生しています。

http://jsfiddle.net/Wxxub/1/

4

1 に答える 1

0

さて、私はそれを修正する方法を考え出しました..

新しい要素に属性を追加idし、代わりにそれをターゲットにすると、機能します。これを示す別のフォークを次に示します。

http://jsfiddle.net/Wg7J6/1/

Selectize doc のどこにも、select フィールドに ID が必要である、または ID がなくても機能することが必要である (私は盲目である可能性があります!) という箇所を見つけることができませんが、私は単に間違っているか、または何をしているのでしょう。

于 2013-09-28T18:55:32.467 に答える