首页 新闻 会员 周边

用js怎么实现单击gridview中单元格(此页面as a)的一行弹出一个列表(as b),不绑定数据库

0
悬赏园豆:20 [已解决问题] 解决于 2012-06-25 09:39

我是新手,求教高手!!!用js怎么实现单击gridview中单元格(此页面as a)的一行弹出一个列表(as b),不绑定数据库。并且单击只对行中特定单元格有效

问题补充:
经各位提示,我已经实现啦想要的效果,可是问题又出来啦。我不知道这2个效果要怎么才能不发生冲突,上面是冲突效果图
<%--单击gridview中一行,弹出一个列表--%>
    <%--<script language="javascript" type="text/javascript" src="JScript.js"></script>--%>
    <script type="text/javascript" >
        function init() {
            //ClientIDMode="Static" 现在就可以实用客户端的id(和服务器端的ID相同)--详细看百度
            var gv = document.getElementById("gvData");
            var rows = gv.getElementsByTagName("tr");
            for (var i = 1; i < rows.length; i++) {
                rows[i].onclick = function () {
//                    window.location.href("ddd.aspx");
                      window.showModelessDialog("ddd.aspx")
                    }
                    rows[i].onmouseover = function () {
                        this.style.cursor = "pointer";
                        this.style.backgroundColor = "red";
                    }
                    rows[i].onmouseout = function () {
                        this.style.backgroundColor = "white";
                    }
                }
            }
        
    </script>

 <%--编辑单元格--%>
    <script language="javascript" type="text/javascript">
     oldObj="";
     var newInput=document.createElement("input");            //动态创建输入框
     newInput.type="text";                                    //输入框类型
     function setEdit(e){                                    //设置编辑时的状态
     var tdObj = e.srcElement? e.srcElement : (e.target ? e.target : e);//单击的对象
     var obj;
     if(tdObj.tagName && tdObj.tagName=="TD"){           //判断是否是单元格
     if(oldObj!=""){
            var tobj = document.getElementById('tmpText');//判断是否已经存在输入框
     oldObj.removeChild(tobj);                       //移除已经存在的输入框
     if(newInput.vlaue=="")                          //初始化输入框的值
              oldObj.innerHTML="&nbsp;";
     else 
              oldObj.innerHTML=newInput.value;              //输入框的内容等于单元格的内容
     }
    obj=tdObj;
    oldObj=obj;
    newInput.width=obj.offsetWidth;                     //输入框的高度和宽度
    newInput.height=obj.offsetHeight;
 
    newInput.id="tmpText";
    newInput.value=obj.innerHTML;
    obj.innerHTML="";
    obj.appendChild(newInput);                          //将输入框添加到单元格内
    newInput.focus();                                   //输入框获得焦点
    }
        tdObj = obj = tobj = null;
    }
        function checkAdd(e){
        if(e && e.keyCode == 13){                               //
            var obj = e.srcElement? e.srcElement : e.target;      //获得单击对象
            var tbl = obj.parentNode.parentNode;                   //单击对象的祖父节点
        if(oldObj!=""){
            var tobj = document.getElementById('tmpText');  //获取输入框
            oldObj.removeChild(tobj);                       //移除旧输入框
        if(newInput.vlaue=="") 
              oldObj.innerHTML="&nbsp;";            //单元格的初始值
        else 
              oldObj.innerHTML=newInput.value;      //单元格的内容等于输入框的内容
            var oldObj2 = oldObj;
            oldObj = '';
        }
       if(tbl.tagName && tbl.tagName == 'TR'){          //如果是单元行
         t2 = tbl.cloneNode(true);                      //克隆表格
         tbl.parentNode.insertBefore(t2,tbl);           //插入行
       }
       setEdit(oldObj2);                                  //开始编辑
        }
        obj = tbl = tobj = t2 = oldObj2 = null;
        }
    </script>
我在等的主页 我在等 | 初学一级 | 园豆:140
提问于:2012-06-18 09:46
< >
分享
最佳答案
0

绑定onclick事件,根据该行的id获取该行的数据,然后把这些数据以列表的形式弹出来。。

收获园豆:20
杭州湛亚技术支持 | 菜鸟二级 |园豆:275 | 2012-06-19 18:04
其他回答(1)
0

那就给单元格绑定事件。

snjsunyan | 园豆:55 (初学一级) | 2012-06-18 10:29

可以具体点说嘛????谢

支持(0) 反对(0) 我在等 | 园豆:140 (初学一级) | 2012-06-18 21:51
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册