2010-09-27 29 views
9

मेरे पास #country की आईडी वाले ड्रॉपडाउन मेनू के लिए एक .change() फ़ंक्शन सेट है। जब पृष्ठ लोड हो तो मैं "संयुक्त राज्य अमेरिका" के लिए ड्रॉपडाउन मेनू सेट और .change() फ़ंक्शन को चलाने के लिए कोशिश कर रहा हूँ:फोर्स .change() फ़ंक्शन चलाने के लिए - jQuery

$('#country').change(function() { 
    resetDisclosure(); 
    var countryCode = $(this).val(); 
    var countryName = $('#country option:selected').text(); 

    $('#'+countryCode.toString()).fadeIn('slow'); 

    if(countryCode == 'OC' || countryCode == 'EU') { 
     $('#OC h4, #EU h4').html('For Residents of <strong>' + countryName + '</strong>'); 
    } 

    $.fancybox.resize(); 
    $.fancybox.center(); 
}); 

$("#country").val('OC'); 
$("#country").change(); 

पिछले समारोह वहाँ गलत है, क्योंकि मैं मजबूर नहीं कर सकते हैं। लोड पर बदलें()। मैं परिवर्तन समारोह को मजबूर करने के बारे में कैसे जा सकता हूं?

मैं सुपर शुरुआती हूं और .change() फ़ंक्शन की सामग्री को एक अलग फ़ंक्शन में असाइन करने का प्रयास किया है और उसे कॉल किया है, लेकिन यह या तो काम नहीं करता है।

+0

आप .change क्यों मजबूर नहीं कर सकते हैं? क्या यह एक त्रुटि फेंक देता है? –

उत्तर

13

प्रयास करें:

$("#country").val('OC').trigger('change');

+3

वह पहले से ही इसे प्रभावी ढंग से कर रहा है, '.change() '* है *' .trigger (' change ')' यह सिर्फ एक शॉर्टकट है। –

+0

धन्यवाद, ट्रिगर फ़ंक्शन सही दिखता है, लेकिन यह अभी भी एक त्रुटि पोस्ट करता है। –

+0

मुझे लगता है कि इस तथ्य के साथ कुछ करने के लिए कुछ मिला है कि ड्रॉपडाउन बदलना एक फैंसीबॉक्स में है जिसे परिवर्तन के साथ ही कहा जा रहा है? –