如何禁用和禁用是和否按钮

时间:2012-07-10 17:24:17

标签: jquery

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

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

我试图做的是,如果突出显示“是”按钮,则禁用“否”按钮,如果突出显示“否”按钮,则禁用“是”按钮,如果没有,则禁用“否”按钮按钮突出显示,然后从两个按钮中删除禁用。

但是我似乎可以完成这项工作,当我尝试使用.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;
}

2 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分: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");
    }

});​