0

私はすでにこの質問をしましたが、私の友人は別のアプローチをとるように言いました. 新しいリンクがクリックされたときに常にデータベースにpingを送信する代わりに、php配列を問題のフロアだけに絞り込み、それをjavascriptオブジェクトに変換して、データがそこにあり、データベースから取得し続ける必要がないようにすると彼は言いました。データベース。

これが私がやろうとしていることです - 座席の上にフロアマップとアンカータグがあり、クリックするとデータベースからの情報がマップの上の別の div に表示されるようにします。

今、私は特定の床を持つphp配列を持っていますが、私が読んだことから、それをjsonに変換する必要があります。クリックされた座席のデータを選択し、json 配列からデータを取得して、マップの上の div に表示するにはどうすればよいでしょうか。また、別の座席が選択されたときにデータが消えて、新しい情報が入力されるようにしたいと考えています。

私は座席番号で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 に答える