4

我正在尝试将 Chosen 插件与 jQuery Layout 和 jqgrid 等其他插件一起使用

没有选择我的选择框如下所示:

http://i.stack.imgur.com/x8qQv.png

并选择:

http://i.stack.imgur.com/XlSMz.png

它与 jQuery 布局重叠。

有没有办法让被选者总是放在前面?

我玩了两个插件的不同CSS设置,但无济于事..请帮助弄清楚该怎么做。

HTML:

<div class="ui-layout-center"></div>
<div class="ui-layout-north">
    <div style="width: 250px; position:relative; z-index:99999">
        <select id="picker" style="width: 250px">
            <option value='1'>1</option>
            <option value='2'>2</option>
            <option value='3'>3</option>
            <option value='4'>4</option>
            <option value='5'>5</option>
            <option value='6'>6</option>
        </select>
    </div>  
</div>
<div class="ui-layout-south"></div>
<div class="ui-layout-east"></div>
<div class="ui-layout-west"></div>

jQuery:

$('#picker').chosen();
$('body').layout(
    { applyDefaultStyles: true }
);

链接到 JSFiddle:小提琴

4

3 回答 3

8

尝试给:position:relative; z-index:100给下拉列表的父 div。或提供小提琴以获得更好的答案。

于 2014-01-15T09:19:39.673 回答
2

带有 z-index 的嵌套 div 永远不会高于父元素之外的元素。这篇文章很好地解释了它。您可以做的是将嵌套的 div 移到外部并在.ui-layout-toggler-north单击时切换可见性。看到这个JSFiddle

$('.ui-layout-toggler-north').click(function(){
    $('#chosen_select').toggleClass('hide');
});

注意:我在 .ui-layout-north div 中放置了一个选择元素,作为实际“选择的选择”元素的占位符。

于 2014-01-16T00:07:02.500 回答
1

试试这个 CSS 样式。

position: fixed; 
_position: absolute; 
z-index: 99; 
left: 0; 
top: 0; 
width: 100%; 
height: 100%; 
_height: expression(document.body.offsetHeight + "px");

这可以帮助您解决问题。^ ^

于 2014-01-15T09:17:42.317 回答