-4

PHP配列のキーとしてjavascript変数を利用しようとしていechoます。idPHP 配列のキーとして使用したいjavascript 変数が必要であることに注意してください$allNames[]

これは可能ですか?JSON/AJAX なしで? もしそうなら、助けてください。

<script type="text/javascript" language="javascript">

    $('*[class^="spec"]').mouseover(function(){
        var the_class = $(this).attr("class");
        var id = the_class.replace("spec", "");
        $('#here').html('<?php echo $allNames[id]; ?>'); // here
    });
</script>

どうもありがとう。

4

3 に答える 3

3

AJAX を使用することもできますが、この場合は無駄かもしれません。これを試して:

var allNames = <?php echo json_encode($allNames); ?>;
$('[class^="spec"]').mouseover(function() {
    var id = this.className.substr(4); // more efficient than previous code
    document.getElementById('here').innerHTML = allNames[id];
});

または、アプローチをリファクタリングしてみてください。これを持っている代わりに(例)

<div class="spec1">Hover here</div>

これを試して:

<div class="spec" data-hover="<?php echo htmlspecialchars($allNames[1]); ?>">Hover here</div>

次に、スクリプトは次のように単純になります。

$(".spec").mouseover(function() {
    document.getElementById('here').innerHTML = this.getAttribute("data-hover");
});
于 2013-03-19T01:33:58.900 に答える
0

それは間違っている。クライアント側の JavaScript では、php にはすでにすべての変数が含まれている必要があります。

PHP は javascript の前にレンダリングされるため、javascript で echo ステートメントを作成することはできません

ajax から HTML を動的に生成したい場合でも、jQuery などの多くの JavaScript ライブラリの要点は、セレクターを使用してドキュメント オブジェクト内の要素を動的に変更することであるため、これは可能です。

于 2013-03-19T01:31:50.543 に答える
0

はい、JSONでできます。このようにPHPファイルを呼び出すだけです

file.php?id=JAVASCRIPT_ID_HERE

次に、そのPHPファイルで$_GET['id']、IDを取得するために使用します

于 2013-03-19T01:34:09.377 に答える