2016-11-17 33 views
0

我有2個複選框。當選擇1時,另一個未被檢查。我用JS來實現這一點,它工作正常。但是當我點擊保存時,未選中的選項不會被保存。如果我實際上用鼠標點擊複選框,那麼它確實保存。完成上述情況的最佳方法是什麼?WordPress Customizer API - 如果選擇第一個,則切換第二個複選框:不保存

PHP行動和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 
} 

回答

0

想通了要使用trigger('click'),而不是attr('checked', false)

所以

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

變爲

jQuery('#customize-control-checkbox1 input').trigger('click'); 
相關問題