some javascript

本文介绍了一种JavaScript方法来获取ASP.NET TreeView控件中被选中的节点值。通过遍历所有节点并检查其选中状态,可以将选中的节点值收集起来。此方法适用于需要客户端交互的应用场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 
<script language="javascript" type="text/javascript"> 
    
function open_window()
    
{
        window.open(
'<%=Url%>','_blank','toolbar=no,location=no,menubar=no,directories=no, resizable=no,status=no,width='+(screen.width-30)+',height='+(screen.height-100)+',left=10,top=10');
        resize();
    }

    
//画面リサイズ
    function resize()
    
{
        
var windowWidth, windowHeight;
        
if (self.innerHeight) 
        
{  // all except Explorer
            windowWidth = self.innerWidth;
            windowHeight 
= self.innerHeight;
        }
 
        
else if (document.documentElement && document.documentElement.clientHeight)
            
// Explorer 6 Strict Mode
                windowWidth = document.documentElement.clientWidth;
                windowHeight 
= document.documentElement.clientHeight;
            }
 
            
else if (document.body) 
                
// other Explorers
                    windowWidth = document.body.clientWidth;
                    windowHeight 
= document.body.clientHeight;
                }

        
        
if(windowHeight>=document.documentElement.scrollHeight)
        
{
            
if(windowHeight>190)
            
{
                document.getElementById(
"tdMenu").style.height=windowHeight-190;
            }

        }

        
else
        
{
            document.getElementById(
"tdMenu").style.height=document.getElementById("tdContent").style.height;
        }

    }


  
//radiobutton選択の項目
    function itemCheck()
    
{
        
var ele = event.srcElement;
        
if(ele.type=='radio')
        
{
          document.all.
<%=h_rblLevel.ClientID%>.value=ele.value;  
          
//alert(document.all.<%=h_rblLevel.ClientID%>.value);
        }

    }

   
//Dropdownlist選択項目を取得
    function selectChange_ddlSGMT()
    
{
        
var ele = event.srcElement;
        document.all.
<%=h_ddlSGMT.ClientID%>.value=ele.options[ele.selectedIndex].value
        
//alert(document.all.<%=h_ddlSGMT.ClientID%>.value);
    }



   
//TreeViewのnodeを親nodeによって全部選択
   function OnTreeNodeChecked() 
    

        
var ele = event.srcElement; 
        
if(ele.type=='checkbox'
        

            
var childrenDivID = ele.id.replace('CheckBox','Nodes');
            
var div = document.getElementById(childrenDivID); 
            
if(div != null)
            
{
                
var checkBoxs = div.getElementsByTagName('INPUT'); 
                
for(var i=0;i<checkBoxs.length;i++
                

                    
if(checkBoxs[i].type=='checkbox'
                    checkBoxs[i].checked
=ele.checked; 
                }

            }

            
else
            
{
                
//var div = GetParentByTagName(ele,'DIV');
                //var checkBoxs = div.getElementsByTagName('INPUT'); 
                //var parentCheckBoxID = div.id.replace('Nodes','CheckBox');
                //var parentCheckBox = document.getElementById(parentCheckBoxID);
                //for(var i=0;i<checkBoxs.length;i++) 
                //{
                 //   if(checkBoxs[i].type=='checkbox' && checkBoxs[i].checked)
                //    {
                //        parentCheckBox.checked = true;
                //        return;
                //    }
               // }
               // parentCheckBox.checked = false;
            }

            
        }
 
    }


    
function GetParentByTagName(element, tagName) 
    
{
        
var parent = element.parentNode;
        
var upperTagName = tagName.toUpperCase();
        
while (parent && (parent.tagName.toUpperCase() != upperTagName)) 
        
{
            parent 
= parent.parentNode ? parent.parentNode : parent.parentElement;
        }

        
return parent;
    }

    
  
//GridviewのCheckboxを全選択
   function selectAll(obj)
    
{
        
var theTable  = obj.parentElement.parentElement.parentElement;
        
var i;
        
var j = obj.parentElement.cellIndex;
        
        
for(i=0;i<theTable.rows.length;i++)
        
{
            
var objCheckBox = theTable.rows[i].cells[j].firstChild;
            
if(objCheckBox.checked!=null)objCheckBox.checked = obj.checked;
        }

    }

</script> 
获得客户端的treeview已选择的node

<%@ Page Language="C#" AutoEventWireup="true"  CodeFile="Default.aspx.cs" Inherits="_Default" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    
<title>無題</title>
    
<script type="text/javascript">
    
function GetSelectedNodeValue()
    
{
        
var objTree=document.getElementById("TreeView1");
        
if(objTree)
        
{
            
var objTreeNode=objTree.getElementsByTagName('INPUT');
            
if(objTreeNode)
            
{
                
forvar  i=0;i<objTreeNode.length;i++)
                
{
                    
if(objTreeNode[i].type="checkbox")
                    
{
                        
if(objTreeNode[i].checked)
                        
{
                            
var s = objTreeNode[i].nextSibling.href
                            alert(s);
                            
if(s.indexOf("/"== -1)
                            
{        
                              s 
= s.substr(0,s.lastIndexOf("'"))
                              s  
= s.substr(s.lastIndexOf("'")+2)
                            }

                            
else
                            
{
                             s 
= s.substr(s.lastIndexOf("/"+ 1,s.lastIndexOf("'"- s.lastIndexOf("/"- 1)
                            }

                            alert(s);

                        }

                    }

                }

            }

        }

    }

    
</script>
</head>
<body>
    
<form id="form1" runat="server">
    
<div>
        
<asp:TreeView ID="TreeView1" runat="server" ShowCheckBoxes="All" ShowLines="True">
            
<Nodes>
                
<asp:TreeNode Text="TextA" Value="ValueA">
                    
<asp:TreeNode Text="Textaa" Value="Valueaa">
                        
<asp:TreeNode Text="Textaaa1" Value="Valueaaa1"></asp:TreeNode>
                        
<asp:TreeNode Text="Textaaa2" Value="Valueaaa2"></asp:TreeNode>
                    
</asp:TreeNode>
                
</asp:TreeNode>
                
<asp:TreeNode Text="TextB" Value="ValueB">
                    
<asp:TreeNode Text="Textbb" Value="Valuebb"></asp:TreeNode>
                
</asp:TreeNode>
                
<asp:TreeNode Text="TextC" Value="ValueC"></asp:TreeNode>
            
</Nodes>
        
</asp:TreeView>
    
    
</div>
        
<input id="Button1" type="button" value="button" onclick="GetSelectedNodeValue()" />
    
</form>
</body>
</html>

 

javascript 取checkboxlist之类的itme.value 方法。

给他添加个属性,然后再取span的值。。。。

        foreach (ListItem li in this.CheckBoxList1.Items)
        {
            li.Attributes.Add("CheckBoxValue", li.Value);
        }

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="Dropdownlist_Default" %>

<%@ Register Src="CustomDDL.ascx" TagName="CustomDDL" TagPrefix="uc1" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    
<title>無題のページ</title>
    
    
<style type="text/css">
#divCheckBox2
{
position
:absolute;
z-index
:-1
}

</style>

<script type="text/javascript">
function SetDiv()
{
    
var divcheckbox=document.getElementById('<%=divCheckBox2.ClientID%>');
    
var textbox1=document.getElementById('<%=TextBox1.ClientID%>');
    
if(divcheckbox.style.display=="")
    
{
        divcheckbox.style.display
="none";
    }

    
else
    
{
        divcheckbox.style.left
=textbox1.style.left;
        divcheckbox.style.top
=textbox1.style.top + textbox1.style.height;
        divcheckbox.style.display
="";
        divcheckbox.style.zIndex
="11";
    }

        getValueToText();
    
//divcheckbox.style.height=100;
}

function getValueToText()
{
    
var divcheckbox=document.getElementById('<%=divCheckBox2.ClientID%>');
    
var textbox1=document.getElementById('<%=TextBox1.ClientID%>');
    
var obj1=divcheckbox.getElementsByTagName("input");

    
for(var i=0;i<obj1.length;i++)
    
{
        
if(obj1[i].checked==true)
        
{   
            
var xx=obj1[i].parentElement.getElementsByTagName("span");
            alert(obj1[i].parentElement.CheckBoxValue);
        }

    }

}

</script>
</head>
<body>
    
<form id="form1" runat="server">
    
<div style="left:0; top:0;">
        
<div  id="div1" style="vertical-align: bottom; width: 201px; height: 20px; text-align: left">
            
<asp:TextBox ID="TextBox1" runat="server" Height="20px" Width="168px"></asp:TextBox>
            
<asp:Image ID="Image1" runat="server" Height="19px" ImageUrl="~/Dropdownlist/pic.GIF"
                onclick
="SetDiv();" Width="7px" /></div>
        
<br />
        
&nbsp;<div id="divCheckBox2" runat="server" style="display: none; width: 0px; height: 0px; border-right: black thin solid; border-top: black thin solid; border-left: black thin solid; border-bottom: black thin solid; background-color: #00ccff;"
            visible
="true">
            
<asp:CheckBoxList ID="CheckBoxList1" runat="server" Height="0px" Width="0px">
            
</asp:CheckBoxList></div>
        
<asp:Label ID="Label1" runat="server" Text="are you ok?" Width="154px"></asp:Label>&nbsp;
    
</div>
    
</form>
</body>
</html>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值