在我的应用程序中,发生的事情是用户通过单击(打开网格)链接并选择一个按钮来选择一个按钮。 然后发生的是,根据用户选择的内容,下面出现了一组按钮。 用户可以自行确定要在文本框中选择多少个答案(换言之,用户要选择多少个按钮)。 例如,如果用户在文本框中输入“ 2”,则用户只能选择下面的2个按钮。 问题在于,如果用户在文本框中键入数字,则将不允许用户选择按钮(如果按钮的颜色变为绿色,则选择按钮)。 但是,如果我删除文本框中的数字,那么如果我单击按钮,它会显示一条警告消息,提示您应确定所需的答案数量,这是正确的。

那么,如果“答案数量”文本框中有数字,为什么不允许我选择任何按钮?

代码在jsfiddle中,请单击此处

谢谢

===============>>#1 票数:0

打开浏览器控制台。 单击按钮时,将看到以下错误:

Uncaught ReferenceError: currenttotal is not defined

这行代码抛出该错误:

console.log(currenttotal);

在此处输入图片说明


似乎还有另一个问题阻止了currenttotal的初始化:

在此处输入图片说明


如果我在此行上设置断点: var letter = $('#numberAnswerTxt').val(); (在getButtons内部),我可以看到变量"letter"是一个看起来像"3"的字符串。 字符串没有名为String的属性,因此letter.String是未定义的。 这就是为什么TypeError: Cannot call method 'fromCharCode' of undefined原因。

所以我认为 for循环应该是这样的:

for(var i = 65; i <= 90; i++) { // iterate over character codes for A to Z
    var letter = String.fromCharCode(i);
    document.getElementById("answer" + letter).className = "answerBtnsOff";
}

由于您使用的是jQuery,因此可以使循环主体更加简洁:

for(var i = 65; i <= 90; i++) { // iterate over character codes for A to Z
    var letter = String.fromCharCode(i);
    $("#answer" + letter).prop("class", "answerBtnsOff");
}

现在可以了

http://jsfiddle.net/mattball/ZCehW/

  ask by BruceyBandit translate from so

未解决问题?本站智能推荐:

关注微信公众号