更清楚here is my fiddle for demonstration。
我有多个具有唯一ID的DIV,如:desk_85(您看到的小方框和数字更改)。
<div class="desk_box_ver id="desk_85" data-rel="85" style="left:20px;top:1165px;">B20</div>
我希望show_aht.php中的“aht_value”替换每个适当的“desk_#”DIV中的数字。
我的json_encode结果示例:
[{"username":"HCZR","aht_value":"578","station":"B12"{"username":"FEHER4","aht_value":"703","station":"B20"}]
我想要实现的问题::
我将使用上面的DIV和VALUES这个例子...
1.使用来自desk_#DIV的站号从阵列中搜索站号,换句话说,将json结果中的“B20”与DIV中的“B20”进行比较。
如果我需要澄清一下,请告诉我。 提前谢谢!
map.php AJAX
<div id="aht"><!--aht button-->
<button id="aht_button">AHT</button>
</div><!--aht button-->
<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){
console.log(data);
/*for(i = 0; i < data.length; i++){
$("#test_"+i).html(data[i]);
}//end for
*/
}//end success
});//end ajax
});//end click
});//end rdy
</script>
show_aht.php - json_encode part
foreach ($memo as $username => $memodata) {
if (in_array($username, array_keys($user))) {
// Match username against the keys of $user (the usernames)
$userdata = $user[$username];
if (is_null($memodata['aht_value'])) {
$result[] = array( 'username' => $userdata['username'],
'aht_value' => 'NA',
'station' => $userdata['station']
);
}
else {
$result[] = array( 'username' => $userdata['username'],
'aht_value' => substr($memodata['aht_value'],0,-3),
'station' => $userdata['station']
);
}
}
}
echo json_encode($result);
答案 0 :(得分:1)
以下是我对该过程的理解:
桌面#ID实际上似乎没有在这里使用 - 是吗?
Javascript代码类似于:
success : function(data){
console.log(data);
var allDivs = $('.desk_box_ver'); // 1.
for(var i = 0; i < data.length; i++) { // 2.
for (var j = 0; j < allDivs.length; j++) {
if (allDivs[j].innerHTML === data[i]['station']) { // 3.
allDivs[j].innerHTML = data[i]['aht_value']; // 4.
}
}
}
} // end success
这不是组织代码的一种超级好方法(嵌套for循环通常很糟糕,虽然较小的尺寸可能并不重要),但它应该做你需要的。
使用desk_B20
等ID,您可以执行以下操作:
success : function(data){
console.log(data);
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
divForResult.html(data[i]['aht_value']); // set inner HTML
}
}
} // end success