0

我已经问过这个问题,但我的朋友说要采取不同的方法。当点击一个新链接时,他不是不断地 ping 数据库,而是说将 php 数组缩小到有问题的楼层并将其转换为 javascript 对象,这样数据就在那里,而不必一直从数据库。

这就是我想要做的 - 我在座位上有一个楼层地图和一个锚标签,当它被点击时,我希望数据库中的信息出现在地图上方的另一个 div 中。

现在我有一个特定楼层的 php 数组,但从我读过的内容来看,我需要将它转换为 json。现在我将如何选择被点击的座位的数据,从 json 数组中获取数据并将其显示在地图上方的 div 中。我还希望在选择其他座位并填充新信息时让数据消失。

我想以座位#为目标->从那里获取javascript中的信息->在地图上方的div中显示。

这就是我所拥有的:

 <div id="information" style="display:none">
 </div>



 <div id="c324" class="seat seat-department">
<(a) class="trigger" onClick="document.getElementById('info').style.display='block';"></(a)></div>[2]
</div>

如果有人能指出我正确的方向,那就太好了。

谢谢

4

2 回答 2

0

您希望有一个脚本标签,其中包含您的 php 数组中某处的数据,

<script>
    var myInfoStuf = {'c234': 'This is info on the seat'}; // an object of info strings
</script>

所以,然后在您的 onclick 中,我建议将其分解为一个函数,

function displayInfoForDiv(id) {
    document.getElementById('info').innerHTML = myInfoStuf[id];
    document.getElementById('info').style.display='block';
    return false;
}

然后您可以从您的座位调用该 onclick 处理程序,例如:

<div id="c324" class="seat seat-department">
    <class="trigger" onclick="displayInfoForDiv('c234')"></a>
</div>
于 2012-09-19T18:31:10.410 回答
0

好的,所以我终于得到了我需要工作的东西!!!!

这就是我所做的。

JS

var jsonData = <?php echo json_encode($array); ?>;

function displayInfoForDiv(i){
    document.getElementById('fname').innerHTML = jsonData[i].first_name;
    document.getElementById('lname').innerHTML = jsonData[i].last_name;
    document.getElementById('ext').innerHTML = jsonData[i].extension;
    document.getElementById('lvl').innerHTML = jsonData[i].level;
    document.getElementById('seat').innerHTML = jsonData[i].seat;
    document.getElementById('depart').innerHTML = jsonData[i].department;
    document.getElementById('email').innerHTML = jsonData[i].email;

}

html

      <div id="c234" class="seat">
    <a class="trigger" onClick="displayInfoForDiv(22)"></a>
</div>

希望这对某人有所帮助,他们不必花费数天时间来尝试使其正常工作。再次感谢所有帮助

于 2012-09-25T17:23:58.267 回答