2014-09-03 4 views
0

У меня есть DropDownList, как показано ниже:DropDownList OnChange событие не стрельбы

<asp:DropDownList ID="ddlExtraHoursStatus" runat="server" CssClass="dropdown" 
               Width="130px"> 
              </asp:DropDownList> 

В моем коде, что делаю, я установить его атрибут на Page_Load, чтобы вызвать функцию JS на его «OnChange» события. Он отлично работает, когда я запускаю страницу и изменяю выпадающий список.

Проблема или вопрос, который у меня есть, почему событие onchange не запускается (которое вызывает функцию JS), когда я изменяю свойство selectedvalue выпадающего списка в коде позади ?????

Я застрял здесь, потому что мой дальнейший процесс зависит от этого. Пожалуйста, помогите

+0

Вы не можете запускать события на стороне клиента с сервера. –

+0

Возможный дубликат http://stackoverflow.com/questions/14811718/how-to-call-a-javascript-function-using-asp-net-dropdown-list – AmanVirdi

ответ

1

После того, как значение раскрывающегося списка изменяется на стороне сервера, страница загружается как новая для браузера и javascript (если вы не используете панель обновления). Поэтому при загрузке страницы со стороны клиента вам нужно вызвать функцию, вызываемую при событии onchange. Вы можете сделать это, как показано ниже (если вы используете JQuery)

jQuery(document).ready(function(){ 
    DropdwonOnChangeFunction(); 
}); 

Если вы хотите, чтобы вызвать функцию, только если значение в раскрывающемся списке изменился, вы должны поддерживать скрытый флаг, который имеет предыдущее выбранное значение опускания. Вы можете установить это поле при загрузке страницы в код позади. И затем, используя значение из этого поля, вы можете решить, будет ли функция вызываться или нет. Как показано ниже.

jQuery(document).ready(function(){ 
    if($("#hdnDdlOldValue").val()!=$("#ddlExtraHoursStatus").val()) 
    { 
     DropdwonOnChangeFunction(); 
     } 
    }); 

Здесь я использовал статические идентификаторы. Вы можете использовать идентификаторы клиентов.

+0

Спасибо, что указал мне в правильном направлении. На самом деле, я только что вызвал функцию JS из кода после того, как связал выпадающий список. Благодаря тонну !!!! –

Смежные вопросы