简要说明一下,我是通过使用AJAX调用从数组中检索值的。将根据数字“aht_value”显示绿色到红色背景。正确显示颜色,因为我手动将值放在下面的计算中。话虽如此,在我的“函数conv(x)”中,我希望值是动态的。
我试图在我的代码中实现的3件事情却无法让它发挥作用。所以,这是我的fiddle for better understanding
这是一个从我的“show_aht.php”中检索的数组示例。
数组:
[
{
"username":"OXGOR",
"aht_value":"241",
"station":"B20"
}
{
"username":"AISAI2",
"aht_value":"199",
"station":"B21"
},
{
"username":"CAPAP3",
"aht_value":"NA",
"station":"B10"
}
]
AJAX电话:
<script type="text/javascript">
$(document).ready(function() {
$('#aht').click(function(){
$.ajax({
type:"GET",
url : "show_aht.php",
data:{ } , // do I need to pass data if im GET ting?
dataType: 'json',
success : function(data){
//going through all DIVs only once with this loop
for(var i = 0; i < data.length; i++) { // loop over results
var divForResult = $('#desk_' + data[i]['station']); // look for div for this object
if(divForResult.length) { // if a div was found
这里我输出背景颜色和aht_value
divForResult.html(data[i]['aht_value']).css("background-color", colorMe(data[i]['aht_value']));
}//end if
}//end for
}//end success
});//end ajax
});//end click
});//end rdy
//function for background color
function colorMe(v){
return "rgb(" + conv(v) + "," + (255-conv(v)) + ",0)";
}
这里我想检查数组中的最低值,然后选择最高值进行计算 我将1800添加为最高,100添加为最低,但我希望它是数组中的值
//function for calculation of background color depending on aht value
function conv(x){
return Math.floor((x - 100) / (1800-100) * 255);
}
</script>
答案 0 :(得分:0)
您的json文件无效。 Ajax调用使用严格的方法,因此如果json无效,它将无法进入您的成功函数。
首先尝试调试json文件:http://jsonlint.com/
尝试使用这个json(已修复):
[
{
"username": "OXGOR",
"aht_value": "241",
"station": "B20"
},
{
"username": "AISAI2",
"aht_value": "199",
"station": "B21"
},
{
"username": "CAPAP3",
"aht_value": "NA",
"station": "B10"
}
]