2

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

但是目前当另一个按钮打开时do按钮被禁用,有谁知道这是为什么?

下面是代码:

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);"/>
4

2 回答 2

2

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

于 2012-07-11T00:10:35.723 回答
0

.attr("disabled", "disabled");将这两个按钮都更改为此.attr("disabled", true);。另外,你会想要像@Musa 说的那样删除句号

于 2012-07-11T00:11:38.247 回答