WordPress Customizer API - 如果选择第一个,则切换第二个复选框:不保存

时间:2016-11-17 02:25:56

标签: wordpress

我有2个复选框。选择1时,将取消选中另一个。我用JS来完成这个,它工作正常。但是当我单击“保存”时,未检查的选项不会被保存。如果我实际上通过鼠标单击取消选中该复选框,则会保存。完成上述情况的最佳方法是什么?

我正在使用的PHP Action和JS:

add_action( 'customize_controls_print_footer_scripts', 'my_customizer_custom_scripts' );

function my_customizer_custom_scripts() { ?>
<script type="text/javascript">
jQuery(document).ready(function() {
    /* This one shows/hides the an option when a checkbox is clicked. */
    jQuery('#customize-control-checkbox1 input').click(function() {
        if (jQuery('#customize-control-checkbox2 input:checked').val() !== undefined) {
            jQuery('#customize-control-checkbox2 input').attr('checked', false);
        }
    });

    jQuery('#customize-control-checkbox2 input').click(function() {
        if (jQuery('#customize-control-checkbox1 input:checked').val() !== undefined) {
            jQuery('#customize-control-checkbox1 input').attr('checked', false);
        }
    }); 
});
</script>

<?php
}

1 个答案:

答案 0 :(得分:0)

想出来必须使用trigger('click')而不是attr('checked', false)

所以

jQuery('#customize-control-checkbox1 input').attr('checked', false);

变为

jQuery('#customize-control-checkbox1 input').trigger('click');