我正在尝试传递一个可能具有小数点(例如7.5或90)的数字,该数字正从文本文件中读取并将其设置为值。
function readFile() {
jQuery.get('input.txt', function(txt) {
$('#output').text(txt);
});
}
$(function() {
$("#gauge").dxCircularGauge({
scale: {
startValue: 0,
endValue: 100,
tickInterval: 1
},
value: $("#output"),
title: {
text: "Monthly Thermometer",
horizontalAlignment: "center",
verticalAlignment: "bottom",
font: {
size: 30,
color: "#CFB53B"
}
}
});
});
我发现无论我尝试什么,它都不会将值设置为文本文件(input.txt)中的任何数字。我不太了解我在做什么,但我想要了解它。
感谢。
答案 0 :(得分:0)
首先,您需要了解delete[]
函数正在向$.get
文件发出GET请求,在收到响应时它会进入input.txt
其中function(x)
是从该调用获得的数据(在您的情况下,是数字)。所有调用和响应都是异步的,因此代码进行调用并继续执行其余代码而无需等待响应。因此,您尝试在收到文件的响应之前创建x
窗口小部件。
另一方面,查看dxCircularGauge
文档,DevExtreme
必须是一个数字,并且您正在传递一个jquery对象。
全部放在一起(你没有指定它,但我认为value
文件只包含数字)......
input.txt
您需要了解的重要一点是,在{strong> MAKING GET调用后(无需等待响应),您在$(document).ready(function() {
$.get('input.txt', function(response) {
$('#output').text(response);
$("#gauge").dxCircularGauge({
scale: {
startValue: 0,
endValue: 100,
tickInterval: 1
},
value: parseFloat(response),
title: {
text: "Monthly Thermometer",
horizontalAlignment: "center",
verticalAlignment: "bottom",
font: {
size: 30,
color: "#CFB53B"
}
}
});
},'txt');
});
调用之后输入的任何代码都将被执行,因此您无法使用响应数据,因为您仍然没有它。这是一个不同寻常的电话。