У меня есть страница 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 = "";
, но это приводит к исчезновению самого текстового поля.
Я уверен, что есть что-то важное, чего мне не хватает!