简体   繁体   English

使用具有自动完成功能的YUI布局

[英]Using YUI layout with autocomplete

I am using YUI layout and autocomplete in the same page. 我在同一页面中使用YUI布局和自动完成功能。 The problem is that autocomplete field dropdown goes behind the layout. 问题是自动完成字段下拉菜单落后于布局。 I think the problem is with z-order but couldn't find it after a bit of research. 我认为问题出在z阶,但经过一些研究却找不到。

Here is the simplified piece of code I have, just copy it to html file and it should work (enter letter a for example to see the problem): 这是我拥有的简化代码,只需将其复制到html文件中即可使用(例如,输入字母a即可查看问题):

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />


<link rel="stylesheet" type="text/css" href="http://yui.yahooapis.com/2.9.0/build/resize/assets/skins/sam/resize.css" />
<link rel="stylesheet" type="text/css" href="http://yui.yahooapis.com/2.9.0/build/autocomplete/assets/skins/sam/autocomplete.css" />
<link rel="stylesheet" type="text/css" href="http://yui.yahooapis.com/2.9.0/build/assets/skins/sam/layout.css">

<link rel="stylesheet" type="text/css" href="main.css"></link>

<script type="text/javascript" src="http://yui.yahooapis.com/2.9.0/build/yahoo/yahoo-min.js"></script>
<script type="text/javascript" src="http://yui.yahooapis.com/2.9.0/build/yahoo-dom-event/yahoo-dom-event.js"></script>

<script type="text/javascript" src="http://yui.yahooapis.com/2.9.0/build/element/element-min.js"></script>
<script type="text/javascript" src="http://yui.yahooapis.com/2.9.0/build/animation/animation-min.js"></script>
<script type="text/javascript" src="http://yui.yahooapis.com/2.9.0/build/layout/layout-min.js"></script>



<script type="text/javascript" src="http://yui.yahooapis.com/2.9.0/build/datasource/datasource-min.js"></script>
<script type="text/javascript" src="http://yui.yahooapis.com/2.9.0/build/autocomplete/autocomplete-min.js"></script>

</head>

<body class="yui-skin-sam">

<div id="header" >

<div class="header2">
    <span class="right-float topPad4px" id="myAutoComplete">
        <input class="searchInput" id="searchInput" type="text" size="25" value=""/>
        <div id="results"></div> 
        <input id="myHidden" type="hidden"> 
    </span>
</div>

</div>

<div class="mainArea">
    <div id="tree" class="tree" style="margin-left :20px">
    </div>
    <div id="center" class="centerDiv">
    </div>
</div>

<script>

(function() {
    var Dom = YAHOO.util.Dom,
        Event = YAHOO.util.Event;

    Event.onDOMReady(function() {
        var layout = new YAHOO.widget.Layout({
            units: [
                { position: 'top', height: 40, body: 'header', gutter: '0px'},
                { position: 'left', width: 280, resize: true, body: 'tree', scroll: true, animate: false },
                { position: 'center', body: 'center', scroll: true }
            ]
        });

        layout.render();

        Event.on('tLeft', 'click', function(ev) {
            Event.stopEvent(ev);
            layout.getUnitByPosition('left').toggle();
        });   
    });
})();

var ds = new YAHOO.util.LocalDataSource(["apples", "apricots", "bananas"]);


var ac = new YAHOO.widget.AutoComplete("searchInput", "results", ds);

</script>

</body>
</html>

my question is - what do I need to modify for the autocomplete dropdown to appear on top of layout? 我的问题是-我需要修改什么以使自动完成下拉菜单显示在布局顶部?

Ok, found the answer on yui forum, basically I need to add bold items: 好的,在yui论坛上找到了答案,基本上我需要添加粗体:

{ position: 'top', height: 28, body: 'top1', scroll: null, zIndex: 2 }, {position:'top',height:28,body:'top1', scroll:null,zIndex:2 },

see http://developer.yahoo.com/yui/examples/layout/menu_layout.html for more details in the "Fixing the hidden Menus" section. 有关“修复隐藏菜单”部分的更多详细信息,请参见http://developer.yahoo.com/yui/examples/layout/menu_layout.html

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM