Хотите запустить выпадающее событие SelectedIndexChanged в Javascript - PullRequest
5 голосов
/ 17 июня 2009

У меня есть выпадающий список на моей странице, я меняю выбранное значение выпадающего меню из всплывающего окна с помощью JavaScript. У меня есть некоторая логика в выпадающем событии SelectedIndexChanged, поэтому мне нужно вызвать событие SelectedIndexChanged, когда выпадающий выбор изменился с JavaScript.

Ответы [ 4 ]

9 голосов
/ 18 июня 2009
document.getElementById('<%= yourDropdown.ClientID %>').onchange();

Это должно работать, если вы все еще получаете ошибку, вы можете попробовать так:

setTimeout('__doPostBack(\'yourcontrolClientSideID\',\'\')', 0);

yourcontrolClientSideID - это идентификатор предоставленного идентификатора клиента.

2 голосов
/ 21 декабря 2009

Вот рабочий пример:

function fireEvent(element,event){
if(document.createEvent){
 // dispatch for firefox + others
var evt = document.createEvent(”HTMLEvents”);
evt.initEvent(event, true, true ); // event type,bubbling,cancelable
return !element.dispatchEvent(evt);
}
else{
// dispatch for IE
var evt = document.createEventObject();
return element.fireEvent(’on’+event,evt)
}
}
1 голос
/ 17 июня 2009

Вызовите метод обмена на стороне клиента:

document.getElementById('yourDropdownsClientId').onchange();

РЕДАКТИРОВАТЬ: Если вы установите для свойства AutoPostBack раскрывающегося списка значение true, приведенный выше код отправит вашу страницу на сервер, а затем будет вызвано событие на стороне сервера.

Но если вы хотите вызвать ваше событие вручную, вы можете сделать все это в любом месте кода вашей страницы:

myDropDownList_SelectedIndexChanged(null, new EventArgs());
0 голосов
/ 17 июня 2009

да ... я думаю, что то, что сказал Канавар, будет работать, но это должно будет выглядеть так

document.getElementById('<%=yourDropdown.ClientId%>').onchange();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...