Выбранный выпадающий список Asp.net Индекс не запускается при использовании с меню выбора jQuery ui
Когда я использую меню jQuery-UI Select в выпадающем списке и пытаюсь вызвать selectedindexchanged
событие это не выстрел, где еще, если я удалил функцию jQuery select menu
из выпадающего списка работает нормально.
Я не мог разобраться и нужна помощь здесь.
Моя реализация как
<asp:DropDownList runat="server" ID="ddlProjects" AutoPostBack="true" CssClass="form-control ddlStyle" OnSelectedIndexChanged="ddlProjects_SelectedIndexChanged"></asp:DropDownList>
Вызов jQuery выглядит так:
$('#<%= ddlProjects.ClientID%>').selectmenu().selectmenu("menuWidget").addClass("overflow");
и код позади
protected void ddlProjectToMapped_SelectedIndexChanged(object sender, EventArgs e)
{
if(ddlProjectToMapped.SelectedIndex==0)
{
divUsersAlreadyMap.Visible = false;
CloseDivs();
}
else
{
string selectedItemValue = ddlProjectToMapped.SelectedItem.Value;
LoadDataInLstUserAlreadyMapped(selectedItemValue);
OpenControls();
}
}
Обратите внимание: эта функция работает нормально, когда удален вызов функции меню выбора jQuery.
2 ответа
selectmenu превращает выбор в пользовательский элемент управления. Возможно, вам нужно подключить событие change к selectmenu, а затем запустить обратную передачу оттуда.
$('#<%= ddlProjects.ClientID%>').selectmenu(change: function( event, ui ) {
__doPostBack($(this), '');
}).selectmenu("menuWidget").addClass("overflow");
Сначала проверьте, есть ли атрибут "onchange".
Если нет атрибута -> обычное выделение (...)
Атрибут onchange -> selectmenu() с "функцией изменения", которая выполняет код. (__doPostBack или что-то еще)
$('select').each(function(){
var onchg=$(this).attr('onchange');
if(onchg==undefined){$(this).selectmenu()}
else{$(this).selectmenu({change:function(){eval(onchg)}});
});