日期:2014-05-17  浏览次数:21090 次

想实现:点击文本框,显示层,选择层里的数据,返回到文本框里,,
想实现这样的效果:点击文本框,显示层,层里是大类列表,每个大类的后面都带复选框,选择后,把值返回到文本框里,不知道咋实现。
捣鼓了一下午,也没弄出个子丑寅卯来。

------解决方案--------------------
这个不是很简单的事么,既然是层你都不用考虑跨页面调用, 直接在本页面首先隐藏一个层,在这个上层布置好你需要的东西,在文本框的点击事件里面将这个层显示, 获值不用我说啦,
有了值你还不知道怎么办么 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>