2009-06-17 3 views
5

में ड्रॉपडाउन चयनित इंडेक्स चेंज किए गए ईवेंट को आग लगाना चाहते हैं मेरे पास मेरे पृष्ठ पर ड्रॉपडाउन है, मैं जावास्क्रिप्ट का उपयोग करके पॉपअप विंडो से ड्रॉपडाउन का चयनित मान बदल रहा हूं। मेरे पास ड्रॉपडाउन चयनित इंडेक्स चेंजेड इवेंट में कुछ तर्क है, इसलिए मुझे जावास्क्रिप्ट से ड्रॉपडाउन चयन बदलते समय चयनित इंडेक्स चेंजेड ईवेंट को आग लगाना होगा।जावास्क्रिप्ट

उत्तर

9
document.getElementById('<%= yourDropdown.ClientID %>').onchange(); 

यह काम करना चाहिए, अगर आप अभी भी कुछ त्रुटि हो रही है, तो आप इस तरह की कोशिश कर सकते हैं:

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

yourcontrolClientSideID रेंडर क्लाइंट आईडी की आईडी है।

+3

"yourDropdown.ClientID" का उपयोग करें (अपरकेस में आईडी के साथ) ... –

1

ग्राहक के पक्ष में इस तरह विधि onchange कॉल:

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

संपादित करें: आप सही करने के लिए अपने लटकती के AutoPostBack संपत्ति सेट करते हैं, कोड के ऊपर अपने पेज सर्वर से, पोस्ट करेंगे अपने सर्वर साइड घटना से होगा बुलाया जाए।

लेकिन आप अपने घटना मैन्युअल कॉल करना चाहते हैं, तो आप सब ऐसा अपने पृष्ठ के codebehind में कहीं भी कर सकते हैं:

myDropDownList_SelectedIndexChanged(null, new EventArgs()); 
+0

लेकिन मैं सर्वर साइड लटकती SelectedIndexChanged का ईवेंट सक्रिय करना चाहते हैं, मैं सर्वर साइड पर मेरा तर्क है। –

+0

लेकिन यह दस्तावेज़ कर रहा है .getElementById ('yourDropdownsClientId')। बदले(); जावास्क्रिप्ट त्रुटि हो रही है। –

0

हाँ ... मुझे लगता है कि क्या Canavar कहा काम करेगा लेकिन यह देखने के लिए होगा इस तरह

document.getElementById('<%=yourDropdown.ClientId%>').onchange(); 
1

यहाँ एक काम कर उदाहरण है:

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) 
} 
}