I have dropdown on my page, I am changing selected value of dropdown from popup window using Javascript. I have some logic in dropdown SelectedIndexChanged
event, so I need to fire the SelectedIndexChanged
event when dropdown selection changed from Javascript.
I have dropdown on my page, I am changing selected value of dropdown from popup window using Javascript. I have some logic in dropdown SelectedIndexChanged
event, so I need to fire the SelectedIndexChanged
event when dropdown selection changed from Javascript.
4 Answers
Reset to default 9document.getElementById('<%= yourDropdown.ClientID %>').onchange();
This should work, if you are still getting some error, you can try like this:
setTimeout('__doPostBack(\'yourcontrolClientSideID\',\'\')', 0);
yourcontrolClientSideID
is the ID of Rendered Client ID.
Call onchange method like that at client side :
document.getElementById('yourDropdownsClientId').onchange();
EDIT : If you set your dropdown's AutoPostBack property to true, the code above will post your page to server, than your server side event will be called.
But If you want to call your event manually, you can all it anywhere in your page's codebehind like that :
myDropDownList_SelectedIndexChanged(null, new EventArgs());
Here is a working example:
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)
}
}
yeah...i think what Canavar said will work but it will have to look like this
document.getElementById('<%=yourDropdown.ClientId%>').onchange();