2017-11-10 5 views
0

私はdjango-select2ライブラリを使用する選択可能なフィールドを持っています。私は現在、Djangoの管理フォームにある "別のものを追加する"機能の動作をコピーしようとしています。django-select2を使ってクライアント側で新しいオプションを追加(および選択)するにはどうすればよいですか?

通常のフォームテンプレートに「+」アイコンを追加し、ユーザーが新しいアイテムを登録できるようにポップアップを開いた。この部分は機能します。ポップアップが閉じられると、新しく追加されたアイテムを自動的に選択したいと考えています。しかし、私は選択肢に新しいオプションを追加することはできません。

私は元dismissAddAnotherPopup()コードとその上のselect2ドキュメントを読みますが、要素にnew Option(...)を追加すると、所望の効果を持っていない - 私はしたいと実際にはできるだけ多くのオプションが追加されますが、彼らは代わりに選択ボックスの下に表示されますまるでまったく違うものであるかのように、ドロップダウンメニューの

私はhtml結果を見て、select2フィールドはDjangoでレンダリングされたオプションの代わりに<option ...>を使用していないようですが、オプションのいくつかのより深いネストされた要素です。

この状況で新しいオプションを追加する正しい構文は何ですか?

答えて

0

何私のためにそれを解決することはthis answerた:

let opt = "<option value=" + myValue + " selected='selected'>" + myValueText + "</option>"; 
$('#mySelect').html(opt); 
$('#mySelect').val(myValue).trigger("change"); 

それだけでHTMLを置き換えるために少し醜いが、私は要素にnew Option(...)は動作しませんでした追加、質問で述べたように。

関連する問題