【发布时间】:2017-08-06 15:00:28
【问题描述】:
我创建了一个下拉菜单,该下拉菜单在根据所选内容调整大小时出现问题。我使用以下 stackoverflow 答案作为调整下拉列表大小的灵感:https://stackoverflow.com/a/20091985/3166468
由于某种原因,尽管发生了调整大小,但它总是调整得过大或过小。这是 jsFiddle:https://jsfiddle.net/yadhwb97/3/
这是 HTML:
<div class="dropdown">
<select id="real_dropdown">
<option disabled="">Options</option>
<option value="long">Something super long in here</option>
<option value="short">Short</option>
</select>
</div>
<select id="width_tmp_select">
<option id="width_tmp_option"></option>
</select>
这是 jQuery:
$(document).ready(function() {
$('.dropdown').change(function(){
$("#width_tmp_option").html($('.dropdown option:selected').text());
$(this).width($("#width_tmp_select").width()+30);
});
});
当您选择下拉选项时,您会看到它的大小调整得过大或过小。如何使调整大小正常工作?
【问题讨论】:
-
您可以随时增加
width value,即使用其他东西代替+30。但是,获得准确的解决方案可能有点棘手。您必须使用name和width将每个选项的初始宽度存储在一个对象中,然后在更改时根据选择拉取值并设置宽度。目前,您可以在选择 long 选项时将宽度设置为 280,但您需要考虑以后添加的未来/其他选项。 -
检查我的解决方案,它运行良好:stackoverflow.com/a/55343177/1243247
标签: html css drop-down-menu