У меня есть флажок и раскрывающийся список (с «Все» в качестве первого элемента), например, так:
<td style="width: 15px">
<asp:CheckBox ID="isAdvertiserFilter" runat="server" AutoPostBack="false"/>
</td>
<td style="width: 330px">
<asp:DropDownList ID="AdvertiserFilterList" runat="server" DataTextField="Name" DataValueField="Id" AutoPostBack="true" Enabled="false"/>
</td>
Этот флажок включает / отключает раскрывающийся список.
Когда включено,пользователь может выбрать любой элемент в списке (All, Item1, Item2 ...) Событие обрабатывается в следующем коде:
this.AdvertiserFilterList.SelectedIndexChanged += new EventHandler(SearchFilter);
Итак, когда пользователь снимает флажок, я хочу, чтобы раскрывающийся список былустановите «Все» и отключите.В моем JavaScript, когда я установил «Все» (значение -1, индекс 0), это не вызывает событие кода, вызывающего мою функцию SearchFilter.
$(document).on({
click: function (event) {
if ($(event.target).is('#isAdvertiserFilter'))
{
// Enable or disable the dropdowlist
$('select[id*="AdvertiserFilterList"]').attr("disabled", !$('input[id*="isAdvertiserFilter"]').prop("checked"));
// When UNcheck
if (!$('input[id*="isAdvertiserFilter"]').prop("checked")) {
// Set to the dropdownlist to All
$('select[id*="AdvertiserFilterList"]').val("-1");
// Trying to fire the event
$('select[id*="AdvertiserFilterList"]').trigger("change");
}
}
},
});
Как вызвать мой код позади иливызвать событие, как если бы это сделал пользователь?
Я хочу PostBack, только когда установлен флажок UNcheck (а не check) или когда выпадающий список 'SelectIndexChanged'