jquery if语句无法正常工作

时间:2012-07-11 00:03:15

标签: jquery

我的jquery代码有问题,我试图说明如果“是”按钮打开,则禁用“否”按钮,否则如果“否”按钮打开,则禁用“是”按钮,否则启用两个按钮。

但是,当其他按钮打开时,按钮被禁用,有人知道这是为什么吗?

以下是代码:

function btnclick(btn)
{
    var context = $(btn).parents('#optionAndAnswer');
    if (context.length == 0) {
        context = $(btn).parents('tr');
    }

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

    if ($("#answerYes", context).hasClass('.answerBtnsOn')) {
        $("#answerNo", context).attr("disabled", "disabled");
    }

    else if ($("#answerNo", context).hasClass('.answerBtnsOn')) {
        $("#answerYes", context).attr("disabled", "disabled");
    }

    else {
    $("#answerYes", context).removeAttr("disabled");
    $("#answerNo", context).removeAttr("disabled");
    }


    return false;
}
对于是和否按钮,

下面是html:

是按钮:

<input class="answerBtns answers answerBtnsOff" name="answerYesName"   id="answerYes"   type="button"   value="Yes"     onclick="btnclick(this);"/>

没有按钮:

<input class="answerBtns answers answerBtnsOff" name="answerNoName"    id="answerNo"        type="button"   value="No"      onclick="btnclick(this);"/>

2 个答案:

答案 0 :(得分:2)

你没有把.放在toggleClass / hasClass / removeClass / ...你只在选择器中使用它们

答案 1 :(得分:0)

对于这两个按钮,将此.attr("disabled", "disabled");更改为此.attr("disabled", true);。另外,你会希望删除像@Musa这样的时期