Javascript Var won';更改时不更新

Javascript Var won';更改时不更新,javascript,Javascript,我正在尝试使用输入更改“June”的值。默认情况下,该值为4(第12行)。当我试图通过输入更新它时,图表不会更新。我使用var(第39行)。我做错了什么 我可以给你完整的代码,如果需要的话,但现在没有更多的,只有化妆品 var NbrPod=document.getElementById(“NbrPod”).value; 让myChart=document.getElementById('myChart').getContext('2d'); //全球选择 Chart.defaults.gl

我正在尝试使用输入更改“June”的值。默认情况下,该值为
4
(第12行)。当我试图通过输入更新它时,图表不会更新。我使用var(第39行)。我做错了什么

我可以给你完整的代码,如果需要的话,但现在没有更多的,只有化妆品


var NbrPod=document.getElementById(“NbrPod”).value;
让myChart=document.getElementById('myChart').getContext('2d');
//全球选择
Chart.defaults.global.defaultFontFamily='Helvetica';
Chart.defaults.global.defaultFontSize=18;
Chart.defaults.global.defaultFontColor='#777';
让massPopChart=新图表(myChart{
类型:'line'、//条、水平条、饼、线、甜甜圈、雷达、polarArea
数据:{
标签:[“一月”、“二月”、“三月”、“四月”、“五月”、“六月”、“七月”、“八月”、“九月”、“十月”、“十一月”、“十二月”],
数据集:[{
标签:“第1行”,
数据:[
61,
18,
15,
10,
11,
豆荚,

],
问题在于,您假设当输入更新时,浏览器将重新计算变量,但不会。在浏览器中打开页面时,脚本标记只运行一次

第一次打开页面后,浏览器将运行JavaScript的唯一原因是您为“事件”分配了功能,如“单击”或“滚动”

因此,您可以更新第一个脚本标记,将“事件侦听器”附加到输入。使用输入元素,您可以侦听“更改”事件或“键控”事件,但在您的情况下,我会选择“模糊”事件,该事件发生在用户激活输入字段后,然后通过单击其外部或按tab键将其保留

var NbrPod = document.getElementById("NbrPod") // remove .value
var NbrPodVal = NbrPod.value // declare var and set initial value
NbrPod.addEventListener("blur", function (event) {
  NbrPodVal = event.target.value
  // event is an object depicting the blur event
  // event.target is the HTML element the blur happened to
  // event.target.value is the new value of your input element
})
在此之后,在输入字段中键入的任何数字都将存储在全局变量NbrPodVal中


作为旁注:通常只以u或小写字母开头变量名;在JavaScript中,以大写字母开头的名称是为JavaScript类保留的。

问题在于,您假设当输入更新时,浏览器将重新评估您的变量,但不会。当页面为o时,脚本标记只运行一次在浏览器中打开

第一次打开页面后,浏览器将运行JavaScript的唯一原因是您为“事件”分配了功能,如“单击”或“滚动”

因此,您可以更新第一个脚本标记,将“事件侦听器”附加到输入。使用输入元素,您可以侦听“更改”事件或“键控”事件,但在您的情况下,我会选择“模糊”事件,该事件发生在用户激活输入字段后,然后通过单击其外部或按tab键将其保留

var NbrPod = document.getElementById("NbrPod") // remove .value
var NbrPodVal = NbrPod.value // declare var and set initial value
NbrPod.addEventListener("blur", function (event) {
  NbrPodVal = event.target.value
  // event is an object depicting the blur event
  // event.target is the HTML element the blur happened to
  // event.target.value is the new value of your input element
})
在此之后,在输入字段中键入的任何数字都将存储在全局变量NbrPodVal中


作为旁注:传统上,变量名只能以u或小写字母开头;在JavaScript中,以大写字母开头的名称是为JavaScript类保留的。

目前没有太多内容,问题只存在于表面上。您必须连接一个更改事件。值始终为
4,现在没有太多了,只有化妆品< /代码>存在问题。您必须连接一个更改事件。该值将始终是代码> 4 。考虑研究“输入更改事件监听器”。