如何在文本框中显示数字以跟踪打开的按钮数量

以下是只读文本框的代码:

   

以下是显示按钮AG的代码:

    $val){ if($i%7 == 1) echo""; $i++; } ?> 
"; echo""; if($i%7 == 0) echo"

下面是打开和关闭字母按钮的function:

 function btnclick(btn) { var context = $(btn).parents('#optionAndAnswer'); if (context.length == 0) { context = $(btn).parents('tr'); } if ($(btn).hasClass("answerBtnsOn")) { $(btn).removeClass("answerBtnsOn").addClass("answerBtnsOff"); return false; } if ($(btn).hasClass("answerBtnsOff")) { $(btn).removeClass("answerBtnsOff").addClass("answerBtnsOn"); return false; } $('.answertxt', context).val(context.find('.answerBtnsOn').length > 0 ? context.find('.answerBtnsOn').length : ''); } 

我在这个函数中试图做的是,如果用户打开了一个按钮,它应该在texbox中添加数字。 例如,假设所有按钮都关闭,如果我打开按钮“B”,那么当一个按钮打开时,文本框应该在文本框中显示数字1,如果我然后打开按钮“E”,它应该显示“ 2“在文本框中,因为两个按钮现在打开等等。此外,如果我关闭按钮”E“,它应该返回到文本框中显示”1“,因为只有按钮”B“打开。 换句话说,我想跟踪已打开的按钮数量。

我怎样才能实现这一点,因为当我打开按钮时,文本框中没有显示任何内容。

以下是该应用程序的演示 :

打开应用程序时,只需单击“打开网格”链接并选择一个网格按钮,当出现字母按钮时,然后单击按钮打开和关闭,因为您可以看到文本框中没有显示任何内容。

计算已打开或关闭的按钮数量的行永远不会被命中,因为您return false; 在您设置按钮类之后。 试试这个:

 function btnclick(btn) { var context = $(btn).parents('#optionAndAnswer'); if (context.length == 0) { context = $(btn).parents('tr'); } if ($(btn).hasClass("answerBtnsOn")) { $(btn).removeClass("answerBtnsOn").addClass("answerBtnsOff"); } if ($(btn).hasClass("answerBtnsOff")) { $(btn).removeClass("answerBtnsOff").addClass("answerBtnsOn"); } $('.answertxt', context).val(context.find('.answerBtnsOn').length > 0 ? context.find('.answerBtnsOn').length : ''); return false; } 

您可能还想尝试使用jQuery的.toggleClass()方法。 这是为了这种事情而制作的。