0

I bind "load" and "change" in jQuery code. My goal is: disable some field based on logic when page load.

jQuery( document ).ready(function() {

    //Question 34.1
    jQuery('select#fever').bind('load change', function () {
        var drug_reaction = jQuery(this).val();
        if(drug_reaction== 1){            
            jQuery('input#fever_days').attr('disabled',false); 
            jQuery('select#character_of_fever').attr('disabled',false);     
            jQuery('select#evening_raise_of_temparature').attr('disabled',false);
            jQuery('select#night_sweats').attr('disabled',false);       
        }else{
            jQuery('input#fever_days').val("");
            jQuery('input#fever_days').attr('disabled',true); 

            jQuery('select#character_of_fever').val("");
            jQuery('select#character_of_fever').attr('disabled',true); 

            jQuery('select#evening_raise_of_temparature').val("");
            jQuery('select#evening_raise_of_temparature').attr('disabled',true); 

            jQuery('select#night_sweats').val("");
            jQuery('select#night_sweats').attr('disabled',true);       
        }
    });
 });

When I change fever dropdown , its working. But when page load, I fetch data from Database and this code not working:

var drug_reaction = jQuery(this).val();
        if(drug_reaction== 1){            
            jQuery('input#fever_days').attr('disabled',false); 
            jQuery('select#character_of_fever').attr('disabled',false);     
            jQuery('select#evening_raise_of_temparature').attr('disabled',false);
            jQuery('select#night_sweats').attr('disabled',false);       
        }else{
            jQuery('input#fever_days').val("");
            jQuery('input#fever_days').attr('disabled',true); 

            jQuery('select#character_of_fever').val("");
            jQuery('select#character_of_fever').attr('disabled',true); 

            jQuery('select#evening_raise_of_temparature').val("");
            jQuery('select#evening_raise_of_temparature').attr('disabled',true); 

            jQuery('select#night_sweats').val("");
            jQuery('select#night_sweats').attr('disabled',true);       
        }

1 Answer 1

1

load events fire on elements which load data from a URL (e.g. the whole page, img elements and iframe elements).

A select element doesn't load external data, and nor do any of its descendants. There is no load event.

Even if there was, it would have already loaded by the time the ready event fires.

Trigger the change event as part of your ready event handler instead.

jQuery('select#fever')
    .bind('change', function () { ... })
    .trigger("change");
Sign up to request clarification or add additional context in comments.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.