Я загружаю функцию в готовый документ. Все работает один раз. Страницу необходимо обновить, чтобы она снова заработала.
$(document).ready(function () {
function resetChosen() {
$('.chosen').val(' ').trigger('chosen:updated');
alert('how many times will this work?');
}
$('#submitter').on('click', function (clickEvent) {
setTimeout(resetChosen, 500);
})
})
Я в основном пытаюсь сбросить поля формы с помощью класса .chosen после ожидания 500 мс. Предупреждение предназначено для отладки.
Работает, но только один раз. Почему?
Спасибо!
ОБНОВЛЕНИЕ: более подробная информация
Я посмотрел HTML, и эта кнопка находится в UpdatePanel ...
<form id ="form1" runat="server">
<asp:ScriptManager ID="ScriptManager1" runat="server" EnablePartialRendering="true" EnablePageMethods="true" />
<asp:Timer ID="Timer1" runat="server" Interval="10000" OnTick="Timer1_Click" Enabled="true" />
<div class="col-10 topRow">
<div class="dispatchContainer">
<div class="col-1">
<div class="dispatchBtnBox" style="display: block">
<asp:UpdatePanel ID="UpdatePanel100" runat="server" UpdateMode="Conditional" ChildrenAsTriggers="True">
<Triggers>
<asp:AsyncPostBackTrigger ControlID="submitter" EventName="Click" />
</Triggers>
<ContentTemplate>
<asp:Button runat="server" ID="submitter" class="submitter" Text="Notify" OnClick="submitter_Click" />
</ContentTemplate>
</asp:UpdatePanel>
</div>
</div>
</div>
</div>
... предположительно, чтобы страница не обновлялась при каждом нажатии. Возможно, нужно будет добавить эту функцию в диспетчер запросов страниц?
Я обновил теги для своего вопроса.
Спасибо!
ОБНОВЛЕНИЕ 2: Решение:
Я зарегистрировал блок сценария с помощью элемента управления ScriptManager в моем коде за событием щелчка.
ScriptManager.RegisterStartupScript(this.Page, this.GetType(), "submitterReset", "submitterReset", false);
Спасибо!