0

如何使用 php foreach 循环多次调用 jquery 脚本。jquery 脚本根据会话中存在的数据为循环的每次迭代绘制饼图。

4

4 回答 4

2

PHP 是服务器端,JavaScript (jQuery) 是客户端。您不能使用 PHP 来调用 JavaScript 函数。

于 2013-08-19T10:45:10.913 回答
0

这将jsFunction()使用从 0 到 10 的参数调用 10 次

<script type="text/javascript">
$(document).ready(function(){
<?php
    for($i=0; $i <= 10; $i++;){
        echo 'jsFunction(' + $i + ')';
    }
?>
});
</script>

这相当于简单地编写(并将其输出到页面):

<script type="text/javascript">
    $(document).ready(function(){
        jsFunction(0);
        jsFunction(1);
        jsFunction(2);
        jsFunction(3);
        jsFunction(4);
        jsFunction(5);
        jsFunction(6);
        jsFunction(7);
        jsFunction(8);
        jsFunction(9);
    });
</script>
于 2013-08-19T10:48:09.550 回答
0

您可以在 foreach 循环中编写新的脚本标签或 jQuery 函数

    echo '<script>';
    foreach(....){
        echo 'drawPieFunction();';
    }
    echo '</script>';

强烈建议不要这样做,因为它几乎没有什么好的用途

于 2013-08-19T10:49:11.403 回答
0

您还可以调整您的 javascript 函数以接受数组作为参数。

如果是这样,您可以通过 PHP 设置数组的值,然后只调用一次该函数:

<script type="text/javascript">
<?php
    echo "var arrayPies = [";

    for($i=0; $i <= 10; $i++){
        echo ($i<10) ? "$i," : "$i";
    }

    echo "];\n";

    echo "callPieFunction(arrayPies);";
?>
</script>

上面的代码将输出如下内容:

var arrayPies = [0,1,2,3,4,5,6,7,8,9,10];
callPieFunction(arrayPies);
于 2013-08-19T12:08:07.270 回答