想实现这样的效果:点击文本框,显示层,层里是大类列表,每个大类的后面都带复选框,选择后,把值返回到文本框里,不知道咋实现。
捣鼓了一下午,也没弄出个子丑寅卯来。
------解决方案--------------------
这个不是很简单的事么,既然是层你都不用考虑跨页面调用, 直接在本页面首先隐藏一个层,在这个上层布置好你需要的东西,在文本框的点击事件里面将这个层显示, 获值不用我说啦,
有了值你还不知道怎么办么 document.getElementById("文本框").value = 值。 一切搞定。
------解决方案--------------------
- HTML code
<!doctype html>
<html>
<head>
<meta charset="gb2312" />
<title></title>
<style>
* { margin:0; padding:0; }
body { font-size:12px; padding:20px; }
#box { width:300px; border:1px solid red; padding:3px; display:none; }
#close { float:right; padding:3px; border:1px solid #999; cursor:pointer; }
</style>
</head>
<body>
运动项目:<input id="con" />
<div id="box">
<div id="close" onclick="$('box').style.display='none'">×关闭</div>
<div style="clear:both;"></div>
<input type="checkbox" name="sports" value="足球" />足球
<input type="checkbox" name="sports" value="篮球" />篮球
<input type="checkbox" name="sports" value="乒乓球" />乒乓球
</div>
<script>
function $(o){return document.getElementById(o)}
$('con').onfocus = function(){
var box = $('box');
var sports = document.getElementsByName('sports');
box.style.display = 'block';
for( var i = 0, len = sports.length; i < len; i++ ){
sports[i].onclick = function(){
$('con').value += $('con').value ? ',' + this.value : this.value;
}
}
}
</script>
</body>
</html>