按钮不能正常工作

问题描述:

我有2个按钮,我想说如果“1”按钮打开,关闭“2”按钮,否则如果“2”按钮打开,然后关闭“1”按钮。按钮不能正常工作

但是目前发生的情况是,如果我打开“2”按钮,然后打开“1”按钮,那么这将工作罚款为“1”按钮打开和“2”按钮打开关闭。但是,如果我再次尝试再次打开“2”按钮,它不会打开它,它保持关闭并且按钮“1”保持打开。有谁知道为什么会发生这种情况?

下面是代码:

function btnclick(btn) 
{ 

$(btn).toggleClass("answerBtnsOff"); 
$(btn).toggleClass("answerBtnsOn"); 

    if ($("#answer1").hasClass('answerBtnsOn')) { 
     $("#answer2").removeClass('answerBtnsOn').addClass('answerBtnsOff'); 
    } 

    else if ($("#answer2").hasClass('answerBtnsOn')) { 
     $("#answer1").removeClass('answerBtnsOn').addClass('answerBtnsOff'); 
    } 

    return false; 
} 
下面

是两个1和2个按钮的html:

1按钮:

<input class="answerBtns answers answerBtnsOff" id="answer1" type="button" value="1" onclick="btnclick(this);"/> 

2按钮:

<input class="answerBtns answers answerBtnsOff" id="answer2"   type="button" value="2"  onclick="btnclick(this);"/> 

你'不检查哪个按钮是在g点击。

像这样的东西应该工作:

function btnclick(btn) 
{ 
    var $btn = $(btn); 
    var id = btn.id; 
    var $otherBtn = id === "answer1" ? $("#answer2") : $("#answer1"); 

    $btn.toggleClass("answerBtnsOff"); 
    $btn.toggleClass("answerBtnsOn"); 

    if (btn.hasClass('answerBtnsOn')) { 
     $otherBtn.removeClass('answerBtnsOn').addClass('answerBtnsOff'); 
    } 

    else if (btn.hasClass('answerBtnsOff')) { 
     $otherBtn.removeClass('answerBtnsOn').addClass('answerBtnsOff'); 
    } 

    return false; 
} 
+0

非常感谢:) – user1490145 2012-07-11 11:04:08

+0

是我的荣幸! :) – 2012-07-11 11:09:25