请问,我在datagrid中使用了一个text控件,需要用js实现它变更后的联动,如何用js找到这个控件的阿?

解决方案 »

  1.   

    网页是吗?你看看运行结果中页面的源代码,datagrid和它里面的控件是按照一定的结构进行命名的(我是说在运行结果中看到的前台页面),这样你就可以传一个名字给js,然后按照当前行算出来他的名称就行了,不知道这么说你能不能理解,举个例子:
      text1
        text2
        text3
    在客户端中datagrid里的控件按行有这样的规律。
      

  2.   

    1.引用 SYSTEM.WEB.UI.WEBCONTROL
    2.TEXTBOX ONPOSTABACK=TRUE
    3.在DATABOUND 事件里写
    CTYPE(FINDCONTROL(("idTEXTBOX"),TEXTBOX)).ATRIBUTE.ADD("ONCHANGE",".......(JS事件)")
      

  3.   

    主要是要获取该控件的客户端ID,得到这ID后,你就可以用document.getElementById('ClientSideID')来获取对象了
    一般的方法是,把对象的ID输出到客户端去,譬如StringBuilder sb = new StringBuilder();foreach (DataGridItem dgi in YourDataGrid.Items)
    {
      TextBox tb = dgi.FindControl("TextBox1") as TextBox;
      sb.AppendFormat(",'{0}'", tb.ClientID);
    }if (sb.Length > 0)
     Page.RegisterArrayDeclaration("myArray", sb.ToString(1,sb.Length-1));
      

  4.   

    可以直接定义text变更的事件。
      

  5.   

    不一定要用JS,用findcontrol就好了