2014-03-07 30 views
2

我试图在搜索栏中实现一个自动完成框。当我要输入文本时,该框会展开以填充整个屏幕。有什么办法可以减小弹出框的大小?我对jQuery很陌生,所以我希望这只是我可以设置的一些选项。代码就是这样。jQuery自动完成扩展占用整个屏幕

<link rel="stylesheet" href="//code.jquery.com/ui/1.10.4/themes/smoothness/jquery-ui.css"> 
<script type="text/javascript" src="http://code.jquery.com/jquery-latest.js"></script> 
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.9/jquery-ui.js"></script> 
<script type="text/javascript"> 
    $(document).ready(function(){ 
    var data = {% autoescape false %}{{job_names}}{% endautoescape %}; 
    $("#job_names").autocomplete({source : data}); 
    }); 
</script> 

<form name= "search_form" method= "post" action= "/" onSubmit="return validate(this);"> 
    <input id="job_names" type= "text"/> 
    <input type= "submit" value= "Search" id= "search"/> 
</form> 

要注意的事情,job_names是通过我的瓶/ Python的后端通过在列表中。

回答

2

以下CSS添加到您的HTML页面,它将应用溢出设置,并设置自动完成列表的宽度:

/**causes the autocomplete to align left and overflow with vertical scroll bar **/ 
    ul 
    { 
     text-align:left; 
     width: 150px;   
    } 
    .ui-autocomplete 
    { 
     max-height: 200px; 
     overflow-y: auto; 
     overflow-x: hidden; 
     text-overflow: ellipsis; 
     white-space: nowrap; 
    } 

http://jsfiddle.net/sanpopo/4J9tK/

+0

谢谢,这取得了巨大的进步,并有继续带领我走向正确的方向。 – Zack