1

单因素身份验证

我的要求是,如果我选择单一因素,我只能选择一种身份验证模式。如果选择了任何一种身份验证模式,则将显示相应的 div,在多个因素中,我可以选择两种身份验证模式,但如果我选择两种身份验证模式,则仅显示第一个选中的 div,但第二个选中的 div 不显示得到显示。选择 2 个选项时如何显示两个 div。

多重因素

我试过这个:

    if ($('#chkOTP').is(':checked')) {
        $('#OTPMain').show();
    } else if ($('#chkVoicePrint').is(':checked')) {
        $('#VoicePrintEmailCampMain').show();
    } else if ($('#chkPersonInfo').is(':checked')) {
        $('#RandomAuthMain').show();
    } else if ($('#chkPastHis').is(':checked')) {
        $('#PastHistoryMain').show();
    } else if ($('#chkSQ').is(':checked')) {
        $('#SqQuestionMain').show();
    }

提前致谢。

4

2 回答 2

1

使用这个 .. 如果你使用 else if 只执行一个语句,那么你应该为每个复选框使用 if

    if ($('#chkOTP').is(':checked')) {
        $('#OTPMain').show();
    } 
    if ($('#chkVoicePrint').is(':checked')) {
        $('#VoicePrintEmailCampMain').show();
    } 
    if ($('#chkPersonInfo').is(':checked')) {
        $('#RandomAuthMain').show();
    } 
    if ($('#chkPastHis').is(':checked')) {
        $('#PastHistoryMain').show();
    } 
    if ($('#chkSQ').is(':checked')) {
        $('#SqQuestionMain').show();
    }
于 2013-03-21T11:03:12.077 回答
0

稍加考虑可以为您节省相当多的代码。在您的 div 上放置一个与复选框的值匹配的类,您可以像这样在 jQuery 中单击:

<input type="checkbox" name="vehicle" value="first">First<br />
<input type="checkbox" name="vehicle" value="second">Second<br />
<input type="checkbox" name="vehicle" value="third">Third<br />
<input type="checkbox" name="vehicle" value="fourth">Fourth<br />
<div class="first">First</div>
<div class="second">second</div>
<div class="third">third</div>
<div class="fourth">fourth</div>



$('input:checkbox').on('click',function(){
    if($(this).is(':checked'))
    {
        $('.'+$(this).val()).show();
    } else {
        $('.'+$(this).val()).hide();
    }

});

演示:http: //jsfiddle.net/calder12/jRZBX/1/

于 2013-03-21T11:22:28.560 回答