Select area and checkbox data is not saving?

I think you are not using customizer.php settings to add them and this can cause complications.

So what you want to do is create a customizer.php in your themes root folder.

There you need to define different levels where you want the settings to be displayed and how they are defined. (more about this later). Then you can use the get_theme_mod function to retrieve them in your layout files.

So what you want to do is read this :
Theme Customizatoin ApI

So there you need to define panels (first level) , sections (second level) and controls (the settings itself). You can skip panels if you want to only have 1 menu where you store the settings in.

Step 1 : create customizer.php within theme/inc/ folder

Step 2 : Create function like :

        function DesignitMultistore_customize_register($wp_customize)
        {
    // here comes your code to define panels , sections and controls and remove them
        }
add_action('customize_register', 'DesignitMultistore_customize_register');

How to remove default controls :

$wp_customize->remove_control('header_textcolor');
$wp_customize->remove_control('display_header_text');
$wp_customize->remove_control('blogdescription');

How to add panels example :

// Slider Panel
$wp_customize->add_panel('Designit_slider', array(
    'title' => __('Slider', 'DesignitMultistore'),
    'description' => sprintf(__('Settings for slider on Homepage. Here you can upload up to 3 images with text to display on the home page.', 'DesignitMultistore')),
    'priority' => 150,
));

Note : Panel and sections only shows if you have controls in place.

enter image description here

How to add sections :

// Add General settings
    $wp_customize->add_section('Designit_slider_general', array(
        'title' => __('General settings', 'DesignitMultistore'),
        'description' => sprintf(__('Setup up your General settings', 'DesignitMultistore')),
        'priority' => 1,
        'panel' => 'Designit_slider',
    ));

enter image description here

How to add a control :

//General Settings : slider radio checkbox

$wp_customize->add_setting('slider_radio', array(
    'default' => 'slider',
    'sanitize_callback' => 'designit_slider_radio_sanitizer',
));
$wp_customize->add_control('slider_radio', array(
    'type' => 'radio',
    'description' => __('Slider : Use the slider on the home page. Header image : Use the header image on the home page.', 'DesignitMultistore'),
    'label' => __('Enable slider', 'DesignitMultistore'),
    'section' => 'Designit_slider_general',
    'priority' => 1,
    'choices' => array(
        'slider' => __('Slider', 'DesignitMultistore'),
        'static' => __('Header Image', 'DesignitMultistore'),
    ),
));

enter image description here

note : Every control needs a setting so the 2 parts here form 1 control. The sanitize_callback is to check the data before it gets sent to the database. You can use one of wordpress its sanitize or create a function in the same customize.php where you define them like :

//sanitizer switch
function designit_fade_radio_sanitizer($input)
{
    $valid = array(
        'fade' => __('Fade', 'DesignitMultistore'),
        'slide' => __('Slidee', 'DesignitMultistore'),
    );

    if (array_key_exists($input, $valid)) {
        return $input;
    } else {
        return '';
    }
}

And thats it! Now you can call the setting in the frontend by using get_theme_mod('slider_radio', 'slider');