Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/387.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 无法更新AngularJS输入值_Javascript_Angularjs - Fatal编程技术网

Javascript 无法更新AngularJS输入值

Javascript 无法更新AngularJS输入值,javascript,angularjs,Javascript,Angularjs,我试图在AngularJS教程中加入我自己的想法,我做了一个关于土星测验的教程,将它从多选改为填空测验 我能够得到第一个答案来识别它是对还是错,但下一个问题总是返回错误,即使答案是对的。通过使用console.log,我发现输入值虽然更改了,但AngularJS无法识别。它始终保留我在测验中输入的第一个值 HTML App.js data.json 您已经将其硬编码为始终查找具有fillin类的元素的第一个实例。更改此的两个实例 document.getElementsByClassName("

我试图在AngularJS教程中加入我自己的想法,我做了一个关于土星测验的教程,将它从多选改为填空测验

我能够得到第一个答案来识别它是对还是错,但下一个问题总是返回错误,即使答案是对的。通过使用console.log,我发现输入值虽然更改了,但AngularJS无法识别。它始终保留我在测验中输入的第一个值

HTML

App.js

data.json


您已经将其硬编码为始终查找具有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