使用 attributes.add(onload..) 在网络表单上动态添加文本框
Dynamically add textboxe(s) on webform with attributes.add(onload..)
我已经搜索过类似的案例,但找不到与我相匹配的案例,而且我对 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 + "')");
目前我正在为 [此处的事件] 使用 "onclick",但我想要加载或类似的东西。
function initiateDateControl(dateControl) {
$("#" + dateControl).datepicker({
dateFormat: "yy-mm-dd",
changeYear: true
});
}
那是因为onload 不起作用但是onclick 起作用了。如何在页面加载时加载 jquery-datepicker?
我不确定是否可以添加正文,因为所有控件都在 asp:Content 中。
一个简单的解决方法是为像这样的所有控件提供唯一的 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
});
});
我已经搜索过类似的案例,但找不到与我相匹配的案例,而且我对 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 + "')");
目前我正在为 [此处的事件] 使用 "onclick",但我想要加载或类似的东西。
function initiateDateControl(dateControl) {
$("#" + dateControl).datepicker({
dateFormat: "yy-mm-dd",
changeYear: true
});
}
那是因为onload 不起作用但是onclick 起作用了。如何在页面加载时加载 jquery-datepicker?
我不确定是否可以添加正文,因为所有控件都在 asp:Content 中。
一个简单的解决方法是为像这样的所有控件提供唯一的 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
});
});