ブートストラップモーダルでselect2(入力)を使用すると、何も入力できません。それは無効のようなものですか?モーダルの外側ではselect2は正常に動作します。
作業例:http : //jsfiddle.net/byJy8/1/ コード:
<!-- Modal -->
<div id="myModal" class="modal hide fade" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
<h3 id="myModalLabel">Panel</h3>
</div>
<div class="modal-body" style="max-height: 800px">
<form class="form-horizontal">
<!-- Text input-->
<div class="control-group">
<label class="control-label" for="vdn_number">Numer</label>
<div class="controls">
<!-- seleect2 -->
<input name="vdn_number" type="hidden" id="vdn_number" class="input-large" required="" />
</div>
</div>
</div>
<div class="modal-footer">
<button class="btn" data-dismiss="modal" aria-hidden="true">Close</button>
<button class="btn btn-primary">Save changes</button>
</div>
</div>
とjs:
$("#vdn_number").select2({
placeholder: "00000",
minimumInputLength: 2,
ajax: {
url: "getAjaxData/",
dataType: 'json',
type: "POST",
data: function (term, page) {
return {
q: term, // search term
col: 'vdn'
};
},
results: function (data) { // parse the results into the format expected by Select2.
// since we are using custom formatting functions we do not need to alter remote JSON data
return {results: data};
}
}
});
答え:
ここでは、クイックフィックスを見つけることができます
そしてこれが「正しい方法」です:Select2はブートストラップモーダルに埋め込まれると機能しません
dropdownParent
ルートdivにあるべきではありませんが、たとえばdivとclassを深くする必要がありますmodal-content
。そうしないと、モーダルをスクロールするときにドロップダウンの位置がめちゃくちゃになります。