为了账号安全,请及时绑定邮箱和手机立即绑定

使用主页中的 jQuery 清除用户控件中的 ASP TextBox 文本

使用主页中的 jQuery 清除用户控件中的 ASP TextBox 文本

蓝山帝景 2022-12-22 12:59:44
我有一个 ASP .NET 页面,其中包含多个中继器内动态创建的用户控件(单个控件的所有实例)。这些用户控件中的每一个都包含一个文本框,我想使用其下方的 HTML 按钮将其清空。因为我不想引起任何回发,所以我尝试使用 jQuery 在所有客户端执行此操作。在主页上,我有以下内容:var removeCommentBtns = $('.remove-comment-btn');for (let i = 0; i < removeCommentBtns.length; i++) {    if (removeCommentBtns.val() != null) {        removeCommentBtns[i].addEventListener("click", function () {            //blank out text box        })    }};这会循环遍历我想要将文本框清除事件添加到的所有按钮,但我没有运气弄清楚我需要在事件侦听器中放入什么来清空文本框。我无法引用文本框,$('#<%=txtTextBox.ClientID %>')因为文本框位于我的用户控件中。我还尝试了各种 DOM 操作,例如找到文本框所在的前一个跨度并设置 textContent$(this).prevAll('.span-clause-comment')[0].textContent = "";但这会导致文本框本身也消失。我确定我缺少一些基本的东西!
查看完整描述

2 回答

?
慕标5832272

TA贡献1966条经验 获得超4个赞

我认为这可以解决您访问动态创建的元素的问题。 使用 jQuery 访问动态创建的项目?

但我更喜欢使用 vanilla javascript。所以我建议你使用事件委托,你需要访问页面加载时已经存在的最近的父元素,然后使用 event.target 访问任何动态创建的子元素。


查看完整回答
反对 回复 2022-12-22
?
万千封印

TA贡献1891条经验 获得超3个赞

我终于想通了。我能够通过找到最近的 div 然后使用通配符找到文本框来清空(或设置)文本框中的文本。

var txt = $(this).closest("div").find("[id*=txtTextBox]");
txt[0].textContent = "";


查看完整回答
反对 回复 2022-12-22
  • 2 回答
  • 0 关注
  • 66 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信