jQuery - Vérifier l'état actuel du bouton radio et de cacher div

QUESTION: Comment puis-je vérifier la valeur d'un bouton radio onload et si c'est d'une certaine valeur, effectuer une action basée sur qui? Référencé à la fin de mon code dans le si déclaration.

EXPLICATION PLUS APPROFONDIE

Donc je sais que le titre de ce qui pourrait sembler familier à d'autres questions, mais j'ai un peu plus impliqué et en essayant de voir la meilleure façon de l'aborder. Donc, dans ma fonction homepageDisplayHandleSelection() je afficher/masquer les domaines sur la base de la sélection de boutons radio depuis l'intérieur de la .homepage_display zone. Ensuite, j'utilise essentiellement la même fonctionnalité pour un autre groupe de boutons radio dans il appelle mainImageLinkHandleSelection puis se cache/montre des zones en fonction de la sélection. Je peux passer entre les Static et Slide option, mais la vue initiale (si Slideshow est sélectionné lorsque le chargement de la page), c'est qu'il est toujours à l'affiche le secondaire boutons radio mainImageLinkHandleSelection et il n'est pas jusqu'à ce que je cliquez en dehors de la Slideshow option et revenir à Static qu'il corrige lui-même.

Donc, j'ai tenté de la résoudre (au bas de l'exemple de code) par la création de vérifier si la valeur du radio qui est vérifié, c'est slideshow et, si oui, je cacher un div appelé main_link (qui est également attaché à chacune des zones autour de la mainImageLinkHandleSelection divs). Je sais que ma question a des tas de pièces, mais j'ai pensé que si quelqu'un pouvait aider, il faudrait être un génie là, quelque part 😉 Merci beaucoup pour toute aide!

jQuery(document).ready(function() {

    //Homepage Settings - Homepage Display
    //This function handles the radio clicks.
    function homepageDisplayHandleSelection() {
        var duration = 400;
        jQuery('.homepage_display').hide(duration);
        jQuery('.main_link').hide(duration);
        if (this.value === "slideshow") {
          jQuery('.homepage_display_slides').show(duration);     
        } else if (this.value === "static") {
          jQuery('.homepage_display_static').show(duration);     
        }
    }

    //Attach a click handler to the radios
    //and trigger the selected radio
    jQuery('#section-of_homepage_display :radio')
        .click(homepageDisplayHandleSelection)
        .filter(':checked').trigger('click');

    //Homepage Settings - Main Link Options
    //This function handles the radio clicks.
    function mainImageLinkHandleSelection() {
        var duration = 400;
        jQuery('.main_link').hide(duration);
        if (this.value === "external_url") {
          jQuery('.main_link_external').show(duration);     
        } else if (this.value === "wp_page") {
          jQuery('.main_link_page').show(duration);     
        }
          else if (this.value === "wp_post") {
          jQuery('.main_link_post').show(duration);     
        }
          else if (this.value === "wp_taxonomy") {
          jQuery('.main_link_category').show(duration);     
        }
    }

    //Attach a click handler to the radios
    //and trigger the selected radio
    jQuery("#section-of_main_image_link_option :radio")
        .click(mainImageLinkHandleSelection)
        .filter(":checked").trigger("click");


  //Make sure main image link option are hidden by default if slideshow option is selected
    if (jQuery('#section-of_homepage_display :radio :checked').val() === 'slideshow') {
      jQuery('.main_link').hide();
    }

});
tl;dr.. vous obtiendrez probablement plus de réponses si vous faites bouillir le bas de votre question à la base
Fait sens pour le faire - merci, j'ai mis à jour.

OriginalL'auteur Zach | 2011-11-30