<style>
#name{ float:left; height:25px;*height:24px;margin-right:10px;}
#btn{ cursor:pointer; background:#a5a5a5; border:1px solid #666666;padding:1px 3px 3px 3px;float:left;}
#box{ border:1px solid #a5a5a5; background:#a5a5a5; width:144px; color:#000;*margin-top:-15px;*width:146px;}
#box ul{ list-style:none; padding:0;margin:0;}
#box li{ cursor: pointer;}
</style>
<script language="javascript">
function addLoadEvent(func){
var oldonload = window.onload;
if (typeof window.onload != 'function'){
window.onload = func;
}
else {
window.onload = function(){
oldonload();
func();
}
}
}
function text(value_text) {
var get_value = "";
value_text = value_text.childNodes;
for ( var j = 0; j < value_text.length; j++ ) {
get_value += value_text[j].nodeType != 1 ? value_text[j].nodeValue : text(value_text[j].childNodes);
}
return get_value;
}
function init(){
var name=document.getElementById("name");
var btn=document.getElementById("btn");
var box=document.getElementById("box");
btn.οnclick=function(){
box.style.display=box.style.display=="none"?"block":"none";
}
var data=box.getElementsByTagName("li");
for(var i=0;i<data.length;i++){
var currentObj=data[i];
currentObj.οnclick=function(){
name.value=text(this);
}
}
}
addLoadEvent(init);
</script>
<input id="name" type="text"/> <div id="btn">click me</div>
<div style="clear:both"></div>
<div id="box" style="display:none">
<ul>
<li>one</li>
<li>two</li>
<li>three</li>
<li>four</li>
<li>five</li>
<li>six</li>
</ul>
</div>
同样的效果用jquery来写就简单一些(这里你要先下载jquery库才能实现效果,附件中有提供):
<style>
#name{ float:left; height:25px;*height:24px;margin-right:10px;}
#btn{ cursor:pointer; background:#a5a5a5; border:1px solid #666666;padding:1px 3px 3px 3px;float:left;}
#box{ border:1px solid #a5a5a5; background:#a5a5a5; width:144px; color:#000;*margin-top:-15px;*width:146px;}
#box ul{ list-style:none; padding:0;margin:0;}
#box li{ cursor: pointer;}
</style>
<script type="text/javascript" src="scripts/jquery-1.2.3.js"></script>
<script type="text/javascript">
$(document).ready(function() {
$("#btn").click(
function(){
$("#box").toggle();
$("#box li").each(
function(i){
$(this).click(
function(){
$("#name").val(($(this).text()));
})
}
)
}
)
})
</script>
<input id="name" type="text"/> <div id="btn">click me</div>
<div style="clear:both"></div>
<div id="box" style="display:none">
<ul>
<li>one</li>
<li>two</li>
<li>three</li>
<li>four</li>
<li>five</li>
<li>six</li>
</ul>
</div>