在JQuery中切换可见性

Kri*_*ten 4 javascript jquery toggle

我可以在JS中做到这一点,但我开始使用JQuery并且更愿意为此开发技能.

我有一条提醒消息[#CheckboxReminder]"勾选此复选框表示您已检查过您的数据".

然后,我想在勾选复选框时隐藏提醒消息[#IsConfirmed],如果未选中则将其恢复为原始状态.

页面将呈现,提醒消息设置为Visible或Hidden类; 如果用户最近将其数据标记为"已检查",则该消息将被隐藏(但如果他们愿意,欢迎用户再次选中该框)

我相信JQuery toggle()可以做到这一点,但我读到它取决于#CheckboxReminder设置样式以指示可见性的方式,而且我还读过Toggle()可能与#IsConfirmedCheckBox 不同步- 例如快速双击.也许我应该让toggle(FunctionA, FunctioB)FunctionA设置复选框状态,而FunctionB取消设置它 - 而不是允许Click设置它?

请问这个代码的最佳方法是什么?

如果有用,这里是HTML可能的样子:

<p>When the data above is correct please confirm 
    <input type="checkbox" id="IsConfirmed" name="IsConfirmed"> 
    and then review the data below</p>
...
<ul>
<li id="CheckboxReminder" class="InitHide OR InitShow">If the contact details
    above are correct please make sure that the CheckBox is ticked</li>
<li>Enter any comment / message in the box above</li>
<li>Then press <input type="submit"></li></ul>
Run Code Online (Sandbox Code Playgroud)

Gab*_*oli 9

在显示/隐藏消息之前,只需检查复选框是否确实更改了值.

$('#isConfirmed').click(
  function(){
    if ( $(this).is(':checked') )
      $('#CheckboxReminder').show();
    else
      $('#CheckboxReminder').hide();
  }
);
Run Code Online (Sandbox Code Playgroud)

每次单击复选框时都会触发上述内容,但由于我们首先检查复选框是否确实已选中,否则将避免误报.