我有两个按钮,分别是“是”和“否”
<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;
}
答案 0 :(得分:1)
您发布的javascript存在许多问题,但对于您的问题,您应使用hasClass()
而不是class()
。这将返回一个布尔值;如果元素包含类,则返回true,否则返回false。
答案 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");
}
});