【问题标题】:How to access dynamically created controls(Server side) in Javascript如何在 Javascript 中访问动态创建的控件(服务器端)
【发布时间】:2013-12-27 07:19:39
【问题描述】:

我在后面的代码 (c#) 中动态创建了几个文本框,它们代表特定类型内存的数量字段。每个文本框都与一个价格属性和一个尺寸属性相关联。我的总体目标是使用 Javascript 来更新(对于每个文本框,将数量乘以价格和尺寸属性,然后将它们加在一起)使用诸如 onblur 或类似命令的“总尺寸”和“总价格”字段(我是如果有的话,可以接受不同的选择)。我遇到的问题是我不确定如何从 Javascript 访问控件,因为它们是动态创建的。

这是我的代码。预先感谢,我很感激。

for (int I = 0; I < DataSetCount; I++)
        {
            tbArrMemory[I] = new TextBox();
            lblmemory[I] = new Label();
        }
        while (N < DataSetCount)
        {

            tbArrMemory[N].Height = 20;
            tbArrMemory[N].Width = 20;
            tbArrMemory[N].Text = "0";
            tbArrMemory[N].ID = "tbArray" + N;
            tbArrMemory[N].Attributes.Add("onblur", "checkDimm(" + tbArrMemory[N].ClientID + ");");
            tbArrMemory[N].Attributes.Add("Price", dsMemory.Tables["MemoryConf"].Rows[N]["Price"].ToString());
            tbArrMemory[N].Attributes.Add("GBSize", dsMemory.Tables["MemoryConf"].Rows[N]["GBSize"].ToString());

            lblmemory[N].Width = 600;
            lblmemory[N].Text = dsMemory.Tables["MemoryConf"].Rows[N][dsCol].ToString();
            plhDrives.Controls.Add(lblmemory[N]);
            plhDrives.Controls.Add(tbArrMemory[N]);

            plhDrives.Controls.Add(new LiteralControl("<br/></br>"));
            N += 1;

        }

【问题讨论】:

    标签: c# javascript dynamic controls


    【解决方案1】:

    使用

    document.getElementById("id")
    

    在您的情况下,您将 id 设置为

    "tbArray" + N;
    

    所以它们将是 tbarray0、tbarray1 等...您可能想要循环遍历它们。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-05-28
      • 1970-01-01
      • 1970-01-01
      • 2012-04-20
      • 2017-12-01
      • 1970-01-01
      • 2011-08-08
      • 2012-11-03
      相关资源
      最近更新 更多