How to resize a chosen jquery dropdownlist on windows resize

时光怂恿深爱的人放手 提交于 2019-12-14 02:16:46

问题


I have the following asp.net code which makes use of the jQuery chosen to customize the dropdownlist:

<asp:DropDownList ClientIDMode="Static" ID="ddlProvider" CssClass="setProvDDStyle" runat="server" AppendDataBoundItems="true"></asp:DropDownList>
<asp:DropDownList ClientIDMode="Static" ID="ddlSpecialty" CssClass="chosen-select setProvDDStyle" runat="server" AppendDataBoundItems="true"></asp:DropDownList>

I use the following script to initialize the dropdownlist:

<script type="text/javascript">
    var config = {
        '.chosen-select': {},
        '.chosen-select-deselect': { allow_single_deselect: true },
        '.chosen-select-no-single': { disable_search_threshold: 10 },
        '.chosen-select-no-results': { no_results_text: 'Oops, nothing found!' },
        '.chosen-select-width': { width: "95%" }
    }
    for (var selector in config) {
        $(selector).chosen(config[selector]);
    }
</script>

CSS:

.setProvDDStyle
{
    width: 100%;
}

Here is the output:

I intentionally left the provider dropdownlist without the chosen-select style which creates the style. When I resize the browser window, you can see the width of the dropdownlist with the chosen select style does not resize based on the container. I added the above script inside the windows.resize() function but didn't really do anything.

How would I accomplish the styled dropdownlist to resize based on the size of the container


回答1:


I wrapped your Drop Down List inside a container DIV:

<div id="ddlSpecialtyContainer">
  <asp:DropDownList ClientIDMode="Static" ID="ddlSpecialty" CssClass="chosen-select setProvDDStyle" runat="server" AppendDataBoundItems="true"></asp:DropDownList>
</div>

Then I added a window resize event handler which resizes the dynamically generated jQuery chosen control inside the Drop Down List container.

$(window).resize(function () {
  var width = $("#ddlSpecialtyContainer")[0].offsetWidth + "px";
  $("#ddlSpecialtyContainer .chosen-container").css("width", width);
});

This seems to work as you have requested.



来源:https://stackoverflow.com/questions/26425643/how-to-resize-a-chosen-jquery-dropdownlist-on-windows-resize

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!