Sayfamda açılırum var, javascript kullanarak açılır pencereden açılan seçili değeri değiştiriyorum. Açılan SelectedIndexChanged olayında bazı mantık var, bu yüzden açılan seçim javascript'ten değiştirildiğinde SelectedIndexChanged olayını tetiklemem gerekiyor. istemci tarafında böyle yöntemle OnchangeJavascript'teki Dropdown SelectedIndexChanged Event'i tetiklemek istiyor
cevap
document.getElementById('<%= yourDropdown.ClientID %>').onchange();
Bu hala bazı hata alıyorsanız, böyle deneyebilirsiniz, çalışması gerekir:
setTimeout('__doPostBack(\'yourcontrolClientSideID\',\'\')', 0);
yourcontrolClientSideID
, Rendered Client ID'nin kimliğidir. İşte
Çağrı:
document.getElementById('yourDropdownsClientId').onchange();
DÜZENLEME: true için açılan listesine en AutoPostBack özelliğini ayarlarsanız, kod yukarıdaki sunucu tarafı olay yerine, sunucuya sayfanızı yayınlayacağız olacak olarak adlandırılabilir. el olayı aramak isterseniz
Ama, bütün her yerde böyle sayfanızın codebehind içinde olabilir:
myDropDownList_SelectedIndexChanged(null, new EventArgs());
ama ben sunucu tarafında benim mantığı, sunucu tarafında açılan Selectedındexchanged olayı istiyorum. –
ama bu document.getElementById ('yourDropdownsClientId'). Onchange(); javascript hatası alıyorum. –
evet ... ben Canavar çalışacağını söylediğini düşünüyorum ama bakmak zorunda kalacak gibi bu
document.getElementById('<%=yourDropdown.ClientId%>').onchange();
çalışan bir örnektir:
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)
}
}
"yourDropdown.ClientID" işlevini (büyük harfle) kullanın ... –