Bootstrapを使用してページをデザインしています。私はこのページをフォローしていますhttp://skote-light.node.themesbrand.com/form-advanced を作成するには複数選択。
<script src="~/assets/js/pages/form-advanced.init.js"></script>
<div class="row mt-3">
<div class="col-lg-12">
<div class="form-group">
<label for="basicpill-firstname-input">Countries/Regions (You may add more countries/regions)</label>
<select class="select2 form-control select2-multiple" multiple="multiple" data-placeholder="Choose ...">
<option value="SG">Singapore</option>
<option value="CH">China</option>
<option value="CA">California</option>
</select>
</div>
</div>
<div id="add-more">Add More<div>
これへの出力は
要件は、複数選択を追加するために、[追加]ボタンが必要なことです。 だから私がしたことは
$("#add-more").click(function () {
$("#add-more").before(
`
<div class="row mt-3">
<div class="col-lg-12">
<div class="form-group">
<label for="basicpill-firstname-input">Countries/Regions (You may add more countries/regions)</label>
<select class="select2 form-control select2-multiple" multiple="multiple" data-placeholder="Choose ...">
<option value="SG">Singapore</option>
<option value="CH">China</option>
<option value="CA">California</option>
</select>
</div>
</div>
`
問題は、JavaScriptを使用して追加しようとすると、複数選択がこのように動作することです。つまり、ブートストラッププロパティは適用されません。
おそらくJavaScriptを使用して追加している間は、JavaScriptスクリプトを使用できません。
この問題を解決するのを手伝ってください。 ありがとう。
回答 2 件
作業コード
window.onload = function () { // no need to initialize here. //$('.select2-multiple').select2(); }); $("#add-more").click(function () { $("#add-more").before( ` <div class="row mt-3"> <div class="col-lg-12"> <div class="form-group"> <label for="basicpill-firstname-input">Countries/Regions (You may add more countries/regions)</label> <select class="select2 form-control select2-multiple" multiple="multiple" data-placeholder="Choose ..."> <option value="SG">Singapore</option> <option value="CH">China</option> <option value="CA">California</option> </select> </div> </div> `); //$('.select2-multiple:last').select2(); //initialize here instead $('.select2-multiple').select2(); });
関連記事
- Javascript:複数の選択ボックスから値の代わりにテキストを取得する
- JavaScriptを使用して複数の選択ボックスを動的にロードする
- 複数のSELECTステートメントがある場合
- 複数の条件が機能しないJavascriptforループ
- Javascriptを使用して複数のモーダルのスタイルを設定する方法
- SwiftUIはlazyhgridで複数のアイテムを選択します
- ブートストラップとJavaScriptボタンのアイコンが背景色に変わります
- JAVASCRIPT:querySelectorAllですべてのDIVを選択するにはどうすればよいですか? divをクリックすると、すべてのdivに境界線が表示されます。
- 簡単な質問。 JavaScript。 createElementでリンクを追加しましたが、表示されません
関連した質問
- Tinymceエディターのスタイルと入力イベントを設定する
- Webの要素が突然消える
- React17をwebpack5およびbabel-plugin-react-css-modules(stylenameのcssモジュール)と統合します
- 水平スクロール(一時停止)カルーセル
- Javascript addEventListeneronStateChangeがIEで機能しない
- ラベルテキストが利用可能な場合にのみアスタリスクを追加します
- onclickが最初のクリックで起動しない(プレーンJavascriptでのみ回答)
- Vuejs内からのLaravel8でのAJAXPOSTリクエストが405(メソッドはサポートされていません)エラーをスローするのはなぜですか?
- 関連するdivのみjQueryをデタッチして追加する方法
初期化する必要があります
select2
これは動的に追加されるため、簡単に使用できます$('.select2-multiple:last').select2()
これにより、最後の選択ボックスが検索され、初期化されます。デモコード: