如何在javascript中设置代码隐藏中创建的文本框的值
我正在代码隐藏中创建一个文本框:如何在javascript中设置代码隐藏中创建的文本框的值,javascript,c#,jquery,asp.net,textbox,Javascript,C#,Jquery,Asp.net,Textbox,我正在代码隐藏中创建一个文本框: TextBox txt = new TextBox(); txt.ID = "txtRef" + count + dr["DataField"].ToString(); div.Controls.Add(txt); 我试图在jquery函数中设置这个文本框的值,但到目前为止我还没有尝试过更新这个文本框 使用document.getElementById('txtRef1j.3rdPartRef')。值='test'返回错误,无法将属性“value”设置为nul
TextBox txt = new TextBox();
txt.ID = "txtRef" + count + dr["DataField"].ToString();
div.Controls.Add(txt);
我试图在jquery函数中设置这个文本框的值,但到目前为止我还没有尝试过更新这个文本框
使用document.getElementById('txtRef1j.3rdPartRef')。值='test'代码>返回错误,无法将属性“value”设置为null
我还尝试了$('#txtRef1j.3rdPartRef').val('test')
和$('[id$=“txtRef1j.3rdPartRef”]')。value='test'代码>但文本框不更新 你可以试试这个
$('#txtRef1j.3rdPartRef').text('test')试试:$('[id$=“txtRef1j.3rdPartRef”]')[0]。值='test'代码>
或document.getElementById('txtRef1j.3rdPartRef')[0]。值='test'代码>或
$('[id$=“txtRef1j.3rdPartRef”]')。获取(0)。值='test'代码>或
document.querySelector('[id$="txtRef1j.3rdPartRef').value = 'test'
或
出现错误是因为jquery对象没有属性值
,只有Dom元素具有属性值
。当您使用document.getElementById时,您会得到NodeList,它不是Dom元素。您可以阅读:检查您在HTML DOM中设置的文本框名称是否相同。右键单击文本框并查看inspect元素的ID。如果它与您在c#中构建的代码不同,则添加一行代码txt.clientdmode=clientdmode.Static代码>ID将与生成动态文本框ID的ID不同
如果ID相同,但仍然不工作,则在浏览器控制台中运行给定的jquery和javascript语句,并尝试它们是否工作
F12,转到控制台,粘贴$(“#ctl00_ContentPlaceHolder1_txtRef1j.3rdPartRef”).val('test')代码>并按enter键。如果设置了该值,则其原因是动态ID。只需将客户端ID模式添加为静态,它就会工作。是否检查了textbox的ID?@Lalit Yes ID在代码后面是txtRef1j.3rdPartRef
。如果我检查控制台的ID,则其ID=“ctl00\u ContentPlaceHolder1\u txtRef1j.3rdPartRef”
。我也尝试过使用此ID,但它仍然不会更新文本框嘿,这似乎无法解决OPs问题,但对于未来的答案,请尝试包含一些参考资料或代码所做的说明。$(“[ID$=”txtRef1j.3rdPartRef“]”)[0]。值=”测试“;谢谢。
$('[id$="txtRef1j.3rdPartRef"]').val('test');`