Javascript 无法更新AngularJS输入值
我试图在AngularJS教程中加入我自己的想法,我做了一个关于土星测验的教程,将它从多选改为填空测验 我能够得到第一个答案来识别它是对还是错,但下一个问题总是返回错误,即使答案是对的。通过使用console.log,我发现输入值虽然更改了,但AngularJS无法识别。它始终保留我在测验中输入的第一个值 HTML App.js data.jsonJavascript 无法更新AngularJS输入值,javascript,angularjs,Javascript,Angularjs,我试图在AngularJS教程中加入我自己的想法,我做了一个关于土星测验的教程,将它从多选改为填空测验 我能够得到第一个答案来识别它是对还是错,但下一个问题总是返回错误,即使答案是对的。通过使用console.log,我发现输入值虽然更改了,但AngularJS无法识别。它始终保留我在测验中输入的第一个值 HTML App.js data.json 您已经将其硬编码为始终查找具有fillin类的元素的第一个实例。更改此的两个实例 document.getElementsByClassName("
您已经将其硬编码为始终查找具有fillin类的元素的第一个实例。更改此的两个实例
document.getElementsByClassName("fillin")[0].value
…为了这个
document.getElementsByClassName("fillin")[aIndex].value
…它应该开始为您工作。在AngularJS框架中,GetElementsByCassName的使用是一个更深层次问题的症状。AngularJS框架使用ng模型指令与元素交互。有关更多信息,请参阅。@georgeawg感谢您提醒我注意这一点!如果你想回答这个问题,我会让这个问题再开放一点,因为你似乎对AngularJS很了解。我在另一个教程中使用了ng模型,我将进一步了解它的工作原理以及如何在这里应用它。这非常有用。在本教程之后,我了解了几次qIndex和aIndex的概念,但我不确定它们到底是从哪里来的,或者是如何来的。这个解决方案很有效,在JS级别上对我来说很有意义!
[
{
"questionId": 0,
"question" : "Saturn is <input id='guess-input' class='fillin' ng-blur='clearValues()' type='text' name='\"six\"'> many planets from the sun?",
"questionAnswer" : "six"
},
{
"questionId": 1,
"question" : "Around Saturn are <input id='guess-input' class='fillin' ng-blur='clearValues()' type='text' name='\"rings\"'>",
"questionAnswer" : "rings"
}
]
document.getElementsByClassName("fillin")[0].value
document.getElementsByClassName("fillin")[aIndex].value