0

我有 2 个按钮,分别是“是”和“否”

<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 个按钮,然后从两个按钮中删除禁用。

但是我似乎可以完成这项工作,当我尝试使用 .class() 读取类时,我的 if 语句中不断出现错误,我怎样才能让下面的函数像我所说的那样工作?

function btnclick(btn) {
    var context = $(btn).parents('#optionAndAnswer');
    if (context.length == 0) {
        context = $(btn).parents('tr');
    }
    $(btn).toggleClass("answerBtnsOff");
    $(btn).toggleClass("answerBtnsOn");
    if (btn = 'Yes').class('.answerBtnsOn') {
        $(btn = 'No').attr("disabled", "disabled");
    } else if (btn = 'No').class('.answerBtnsOn') {
        $(btn = 'Yes').attr("disabled", "disabled");
    } else if (btn = 'Yes' && btn = 'No').class('.answerBtnsOff') {
        $(btn = 'Yes' && btn = 'No').removeAttr("disabled");
    }
    return false;
}
4

2 回答 2

1

您发布的 javascript 存在很多问题,但对于您的问题,您应该使用hasClass()not class()。这将返回一个布尔值;如果元素包含类,则为 true,否则为 false。

http://api.jquery.com/hasClass/

于 2012-07-10T17:29:22.270 回答
0

我认为这就是你想要的:

演示:http: //jsfiddle.net/SO_AMK/7qSen/

HTML:

<input class="answerBtns answers answerBtnsOff" name="answerYesName"   id="answerYes"   type="button"   value="Yes"/>
<input class="answerBtns answers answerBtnsOff" name="answerNoName"    id="answerNo"        type="button"   value="No"/>​

jQuery:

$(".answerBtns").click(function(){
    if ($(this).val() == "Yes") {
        $("#answerNo").attr("disabled", "disabled");
    }

    else if ($(this).val() == "No") {
        $("#answerYes").attr("disabled", "disabled");
    }

});​
于 2012-07-10T17:41:15.383 回答