【问题标题】:Dynamically add textboxe(s) on webform with attributes.add(onload..)使用 attributes.add(onload..) 在 webform 上动态添加文本框
【发布时间】:2015-03-02 10:24:21
【问题描述】:

我已经搜索过类似的案例,但找不到任何与我匹配的案例,而且我不太擅长 js、jquery 和一般网站流程来自己解决这个问题。

我正在动态添加这样的文本框:

        var nr = new System.Web.UI.HtmlControls.HtmlTableRow();
        var c1 = new System.Web.UI.HtmlControls.HtmlTableCell();
        var c2 = new System.Web.UI.HtmlControls.HtmlTableCell();
        c1.InnerText = Q.Trim(new char[] { '{', '$', '[', ']', '}' }).TrimStart(new char[] { '-' });
        c2.Controls.Add(new TextBox() { ID = "tb_" + c.ToString(), ClientIDMode = System.Web.UI.ClientIDMode.Static });
        var dateControl = c2.Controls[0] as TextBox;
        dateControl.Attributes.Add("autocomplete", "off");
        dateControl.Attributes.Add([event here], "initiateDateControl('"+ dateControl.ID + "')");

目前我正在为 [event here] 使用“onclick”,但我想要 onload 或类似的东西。

function initiateDateControl(dateControl) {
    $("#" + dateControl).datepicker({
        dateFormat: "yy-mm-dd",
        changeYear: true
    });
}

那是因为 onload 不起作用但 onclick 起作用。页面加载时如何加载 jquery-datepicker?

我不确定是否可以添加正文,因为所有控件都在 asp:Content 中。

【问题讨论】:

  • 我在您的代码中找不到 onload。请提供更多信息。
  • @Lafontein 问题已更新。
  • 尝试将 onload 调用放在 元素上,或者将其放在
  • 但我无法在脚本标签中创建 onload 函数,因为文本框是在页面加载后创建的。
  • 也许你会以某种方式改变加载优先级。在这种情况下我无能为力抱歉

标签: c# html asp.net jquery-ui-datepicker


【解决方案1】:

一个简单的解决方法是为所有这样的控件提供一个唯一的 CssClass

c2.Controls.Add(new TextBox() { 
    ID = "tb_0", 
    CssClass="my_tb", 
    ClientIDMode = System.Web.UI.ClientIDMode.Static });

然后你可以像这样在准备好的 DOM 上调用它

$(document).ready(function () {
    $(".my_tb").datepicker({
        dateFormat: "yy-mm-dd",
        changeYear: true
    });
});

或者你可以使用 jQuerys Attribute Starts with Selector

$(document).ready(function () {
    $("input[id^='tb_']").datepicker({
        dateFormat: "yy-mm-dd",
        changeYear: true
    });
});

【讨论】:

  • 谢谢!但我也发现:dateControl.Attributes.Add("onmouseover", "initiateDateControl('" + dateControl.ID + "')"); 有效,只是没那么漂亮。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-02-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-08-02
  • 1970-01-01
  • 2015-05-08
相关资源
最近更新 更多