JQuery函数不在PHP循环中执行

时间:2013-07-31 11:00:10

标签: php javascript jquery for-loop

我有一个结果为$bank_r的php数组。我想在所有结果中执行一些结果。为此,我写道:

$(function(){

//alert('<?php echo count($bank_r); ?> ');

    <?php

        for($i=0;$i<count($bank_r);$i++)
        {
           $bank_name = strtolower (str_replace(" ","",$bank_r[$i]['bank_name']));
        ?>
        alert('<?php echo $bank_name; ?>');
        <?php } ?>

-------------
----------
//Some other jquery functions
//
//
});

我原本希望提醒$bank_name,但事实并非如此。即使是顶级alert('<?php echo count($bank_r); ?> ');也没有提醒任何事情。但是,如果我删除php for loop,则顶部alert会提醒结果数量。怎么了?

编辑: 生成的javascript代码:

    <script>

    $(function(){

    //alert('5 ');

                alert('ucobank
    ');
                    alert('pnb');
                    alert('bob');
                    alert('sbi');
                    alert('hdfc');
//Other javascripts
});

2 个答案:

答案 0 :(得分:2)

试试这个,

<?php
for($i=0;$i<count($bank_r);$i++)
{
   $bank_name = strtolower (str_replace(" ","",$bank_r[$i]['bank_name']));
   echo '<script> alert("'.$bank_name.'");</script>';
   // if you are outside the javascript then use script tag, otherwise remove the tags
} 
?>

答案 1 :(得分:0)

第一次警报中的新行是问题。它会导致JS解析错误,因为它不会出现警报。你必须将换行替换为例如。空格str_replace("\n", ' ', $string);