У меня есть Html.DropDownList
в стиле Chosen в диалоговом окне интерфейса jQuery. Список элементов достаточно длинный, что при его открытии список обрезается границей диалогового окна.Как расширить выделенное выпадение за пределами содержащего его диалогового окна
Есть ли способ расширить выпадающую часть выпадающего падающего за границу диалогового окна, содержащего его?
Я хочу, чтобы результат похож на this.
HTML:
<div class="ui-dialog" id="deleteControl">
<div class="mws-form-cols clearfix">
<label>Select a document to delete:</label>
@Html.DropDownList("fileName", Model.fileDropdown, "", new { id = "fileDropdown", onchange = "$('#deleteDocName').val($('#fileDropdown').val())", style = "display:inline;" })
</div>
<!--Removed code for a button row here-->
</div>
JavaScript:
$("select").chosen();
$("#deleteControl").dialog({
autoOpen: false,
title: "Remove Documents",
modal: true,
resizable: false,
width: "60%"
});
Вынесено HTML:
<!--Removed unrelated code-->
<div tabindex="-1" class="ui-dialog ui-widget ui-widget-content ui-corner-all ui-draggable" role="dialog" aria-labelledby="ui-dialog-title-deleteControl" style="outline: 0px; left: 319px; top: 421.5px; width: 60%; height: auto; display: block; z-index: 1002;">
<div class="ui-dialog-titlebar ui-widget-header ui-corner-all ui-helper-clearfix"><span class="ui-dialog-title" id="ui-dialog-title-deleteControl">Remove Documents</span><a class="ui-dialog-titlebar-close ui-corner-all" role="button" href="#"><span class="ui-icon ui-icon-closethick">close</span></a>
</div>
<div class="ui-dialog ui-dialog-content ui-widget-content" id="deleteControl" style="width: auto; height: auto; min-height: 100px;" scrolltop="0" scrollleft="0">
<div class="mws-form-cols clearfix">
<label>Select a document to delete:</label>
<select name="fileName" id="fileDropdown" style="display: none;" onchange="$('#deleteDocName').val($('#fileDropdown').val())">
<option value=""></option>
<option value="Modal Test">Modal Test</option>
<option value="Second Rename">Second Rename</option>
<option value="Test">Test</option>
<option value="Inner Test">Inner Test</option>
</select>
<div title="" class="chosen-container chosen-container-single" id="fileDropdown_chosen" style="width: 389px;"><a tabindex="-1" class="chosen-single chosen-default"><span> </span><div><b></b></div></a>
<div class="chosen-drop">
<div class="chosen-search">
<input type="text" autocomplete="off">
</div>
<ul class="chosen-results">
<li class="active-result" data-option-array-index="1">Modal Test</li>
<li class="active-result" data-option-array-index="2">Second Rename</li>
<li class="active-result" data-option-array-index="3">Test</li>
<li class="active-result" data-option-array-index="4">Inner Test</li>
</ul>
</div>
</div>
</div>
</div></div>
Хммм, нам понадобится плоский html Я думаю (это было бы намного проще, если бы вы просто вырезали и вставляли блок из браузера. К сожалению, вы не можете протестировать динамическое содержимое бэкэнда в jsfiddle. Также выбрана библиотека js для встраивания входов (например, selects), но я уверен, что в их документации должна быть возможность делать то, что вы хотите. Так что на самом деле ответы здесь не помогут вам, поскольку они относятся к стандартным типам ввода браузера. Выбранные накладывают те, у которых есть разные элементы, поэтому они может быть в стиле. – lharby
Если в документации Chosen есть возможность сделать то, что мне нужно, я еще не смог ее найти. Я добавлю плоский HTML за пару минут. – numaroth
@nummaroth Я сделал jsfiddle здесь: http://jsfiddle.net/lharby/4e65bktm/ Я также вытащил выбранные js, css и файл proto.js из http://cdnjs.com/libraries/chosen (вы можете увидеть их на вкладке «Внешние ресурсы» в jsfiddle). Однако я думаю, что какая-то информация отсутствует. Но это начало. Вы можете разблокировать эту скрипку и добавить/отредактировать код и ответить здесь, если мы сможем помочь вам в этом. Из функции .dialog() выдается ошибка. – lharby