Gridview中有文本框也有Label
运行程序后看后台代码:文本框是在input中的,我会赋值var table = document.getElementById("<%=grvDevelopKit.ClientID %>");
table.rows[rowIndex].cells[26].getElementsByTagName("input")[0].value = “123”
其中rowIndex是当前的行号但是Label是在span中
后台代码是这样的:<span id="ctl00_MainContent_grvDevelopKit_ctl03_Lbl4"></span>请高手指点一下,怎么给这个Label赋值?

解决方案 »

  1.   

    我用下面的方法赋值,不管用的table.rows[rowIndex].cells[26].getElementsByTagName("span").innerText
      

  2.   

    可以根据ctl00_MainContent_grvDevelopKit_ctl03_Lbl4这些ID号找出些规律来再进行赋值!不过还是建议在服务端事件中赋值
      

  3.   

    就是不能在后面赋值才在前面写JS的。
    ctl00_MainContent_grvDevelopKit_ctl03_Lbl4 这个是程序运行后生成的,Gridview的行数是不定的,这个也是不定的。
      

  4.   

    本帖最后由 cat_hsfz 于 2009-04-02 16:10:36 编辑
      

  5.   

    可以取个自定义的name,然后通过document.getElementsByName("自定义名字")[0]取到。
      

  6.   


    尽量不用用innerTextIE下面没关系,Firefox不支持会报错
      

  7.   


    Firefox下面提取的话要用textContent了试试用下面这个,IE和FF都支持table.rows[rowIndex].cells[26].getElementsByTagName("span")[0].innerHTML 
      

  8.   

    给GridView模板列中的ItemTemplate赋值:
    说明:运行时<asp:Label>的HTML是span,所以相当于给span赋值:
    txtEletric1 = tr[i].getElementsByTagName("td")[3].getElementsByTagName("input")[0].value;  //获取值
    tr[i].getElementsByTagName("td")[3].getElementsByTagName("span")[0].innerText = 要赋的值---------------------------------2012-05-11--------------------jsping奉上----------------