当前位置: 代码迷 >> ASP.NET >> Js获取Label中的数据解决思路
  详细解决方案

Js获取Label中的数据解决思路

热度:8112   发布时间:2013-02-25 00:00:00.0
Js获取Label中的数据
DataList绑定了很多行数据 简单点说 一行有一个 复选框 和一个Label
Label绑定了数据 点击复选框的时候希望将这个数据传给 DataList外面的一个Label

JScript code
<script type="text/javascript" language="javascript">    function CheckGoods(form)    {        var cb=document.getElementsByTagName("input");        var lb=document.getElementById("lb_totallMoney"); //将数据传给它        var lb2=document.getElementById("lb_GoodPrice");  //绑定数据的Label        for(i=0;i<cb.length;i++)        {            if(cb[i].type=="checkbox"&&cb[i].name=='CheckBox1')            {                if(cb[i].checked)                {                    lb.innerText="123";                   //这样可以 点击复选框后 lb的值会变成 123                    lb.innerText=lb2.inner.Text;          //这样不行 点击复选框后 lb的值不变                }            }        }    }    </script>


<asp:Label ID="lb_GoodPrice" runat="server" Text='<%#Eval("goodsPrice")%>'/>
貌似无法获取到这个绑定数据标签的值。。。。

想了一下 可能是没遍历Label 

JS不太懂,具体应该怎么写,大家帮帮忙

------解决方案--------------------------------------------------------
首先你获取datalist就错了,
应该是var cb=document.getElementById("DataList1").getElementByTaName("Input");
然后你遍历的时候为什么要判断&&cb[i].name=='CheckBox1'呢,去掉这个判断直接判断cb[i].type=="checkbox"再试试。不过我感觉还是有问题。你用alert试试能不能获取lb2的值。
------解决方案--------------------------------------------------------
完整的做法
HTML code
<%@ Page Language="C#" AutoEventWireup="true" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><script runat="server">  protected void Page_Load(object sender, EventArgs e)  {    System.Data.DataTable dataTable1 = new System.Data.DataTable("BlogUser");    System.Data.DataRow dr;    dataTable1.Columns.Add(new System.Data.DataColumn("UserId", typeof(System.Int32)));    dataTable1.Columns.Add(new System.Data.DataColumn("UserName", typeof(System.String)));    dataTable1.PrimaryKey = new System.Data.DataColumn[] { dataTable1.Columns["UserId"] };    for (int i = 0; i < 8; i++)    {      dr = dataTable1.NewRow();      dr[0] = i;      dr[1] = "【孟子E章】" + i.ToString();      dataTable1.Rows.Add(dr);    }    DataList1.DataSource = dataTable1;    DataList1.DataBind();  }  protected void DataList1_ItemDataBound(object sender, DataListItemEventArgs e)  {    if (e.Item.ItemType == ListItemType.AlternatingItem || e.Item.ItemType == ListItemType.Item)    {      CheckBox CheckBox1 = e.Item.FindControl("CheckBox1") as CheckBox;      Label Label1 = e.Item.FindControl("Label1") as Label;      CheckBox1.Attributes.Add("onclick", "document.getElementById('" + Label2.ClientID + "').innerHTML=document.getElementById('" + Label1.ClientID + "').innerHTML");    }  }</script><html xmlns="http://www.w3.org/1999/xhtml"><head id="Head1" runat="server">  <title>无标题页</title></head><body>  <form id="form1" runat="server">  <asp:DataList ID="DataList1" runat="server" OnItemDataBound="DataList1_ItemDataBound">    <ItemTemplate>      <div>        <asp:CheckBox ID="CheckBox1" runat="server" />        <asp:Label ID="Label1" runat="server">  <%#Eval("UserName")%>        </asp:Label>      </div>    </ItemTemplate>  </asp:DataList>  <asp:Label ID="Label2" runat="server"></asp:Label>  </form></body></html>
  相关解决方案