我有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
}
答案 0 :(得分:0)
想出来必须使用trigger('click')
而不是attr('checked', false)
。
所以
jQuery('#customize-control-checkbox1 input').attr('checked', false);
变为
jQuery('#customize-control-checkbox1 input').trigger('click');