如何关闭字母按钮?
下面的代码中有一堆字母按钮:
$val){ if($i%7 == 1) echo" "; echo""; if($i%7 == 0) echo" "; $i++; } ?>
现在,下面的代码可以打开一个答案按钮:
$('#answer'+btn).addClass("answerBtnsOn");
但我想要做的是能够打开一些应答按钮并关闭其他应答按钮。
例如,如果答案是A,那么我希望按钮“A”打开上面的代码行,但我希望所有其他字母按钮都关闭。 如何关闭其他字母按钮?
这里的代码将关闭字母按钮addClass("answerBtnsOff");
,
更新:
我也有一点问题。 如果“答案”是A,则字母按钮“A”打开,这很好,但如果答案是“BD”,那么它应该打开字母按钮“B”和“D”,但它不会’ t打开任何按钮。 有谁知道这是为什么?
尝试以下选择器组合:
$('#answer'+btn1+', #answer'+btn2).addClass("answerBtnsOn").removeClass("answerBtnsOff"); $('[id^="answer"]').not('#answer'+btn1+', #answer'+btn2).addClass("answerBtnsOff").removeClass("answerBtnsOff");
一般模式是将所有按钮重置为关闭状态,然后仅启用所需的按钮。
// reset all answer buttons to the off state // remove any on/off classes $("#answerSection").find("button").removeClass("answerBtnsOff").removeClass("answerBtnsOn"); // set all buttons to off $("#answerSection").find("button").addClass("answerBtnsOff"); // now turn on only the buttons that are valid $("#answerA").removeClass("answerBtnsOff").addClass("answerBtnsOn"); $("#answerB").removeClass("answerBtnsOff").addClass("answerBtnsOn");
关于你的更新,如果我正确地理解你,你有一串空格分隔的答案。 如果是这样的话,这段代码应该处理它:
var answers = btn.split(" "); var answer_selector = '#answer'+answers.join(",#answer"); $(".answerBtns").removeClass("answerBtnsOn"); $(answer_selector).addClass("answerBtnsOn");
嗯,这可能太简单了,但是你可以先将它们全部关掉然后重新打开吗?
编辑:
试试这个:
$(".answers").addClass("answerBtnsOff"); $('#answer'+btn).addClass("answerBtnsOn");