QUESTION: How would I check the value of a radio button onload and if it is a certain value, perform an action based up on that? Referenced at the end of my code in the if statement.
MORE IN-DEPTH EXPLANATION
So I know the title of this might sound familiar to other questions, but I have a bit more involved and trying to see the best way to approach it. So, in my function homepageDisplayHandleSelection()
I hide/show areas based on the selection of radio buttons from within that .homepage_display
area. Then, I basically use that same functionality for another group of radio buttons within it called mainImageLinkHandleSelection
and then hides/shows areas based on the selection. I can switch between the Static
and Slide
option just fine, but the initial view (if Slideshow
is selected when the page loads) is that it is still showing the secondary radio buttons mainImageLinkHandleSelection
and it is not until I click off of the Slideshow
option and back to Static
that it corrects itself.
So, I attempted to fix this (at the bottom of the example code) by creating a check if the current radio value that is checked is slideshow
and if so, I hide a div called main_link
(which is also attached to each of the areas around the mainImageLinkHandleSelection
divs). I know my question has bunch of parts in it, but I figured if anyone could help, there'd be a genius out there somewhere ;) Thank you very much for any and all help!
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();
}
});