0

我在页面上有一个 Select2 元素,右侧有一个按钮,我希望 Select2 占用除按钮占用的所有空间之外的所有空间。问题是 Select2 一旦激活就会注入自己的格式,我不知道如何解决这个问题。

这是我所拥有的:

<ul style="width:100%">
 <li>
  <label style="display:inline">From: </label>
  <div class="select2-container select2-container-multi test" style="width:0px">
  <ul class="select2-choices">...

我希望 select2-choices 是第一个 ul 的 90%,但如果我把

.test .select2-choices {
    width:90%;
}

然后它给了我以前 div 的 90%,即 0px。有没有办法可以从第一个 ul 中获取“select2-choices”的宽度,而不是从父 div 中获取?

4

1 回答 1

0

不使用 CSS。您需要为此使用一些javascript。您是否有特殊原因需要您的父母有 0px 宽度?

编辑:你可以在 jQuery 中做这样的事情。我不建议对百分比进行硬编码,但这应该可以帮助您。

$(document).ready(function(){
    $(window).on('resize',function(){
       var $choices = $('.select2-choices');
       var parentWidth = $choices.parents('ul').width();
       $choices.width(parentWidth*.9);        
    }).trigger('resize');
});

http://jsfiddle.net/BAGkD/

于 2013-09-16T19:22:38.233 回答