Javascript在循环时没有在php上工作

时间:2015-03-14 19:12:04

标签: javascript php jquery

我正在尝试在每个数据库表记录上执行此javascript代码。 我已经尝试在脚本上定义所有div id,但由于我不是一个好的JavaScript,我无法找到问题所在。

我认为javascript应该使用uniq名称来指定...继承代码:

echo '<script>';
echo '$(document).ready(function(){';
echo 'var menu = $("#shfaqa'.$row["id"].'")';
echo '$("#butoni'.$row["id"].'").click(function(event){';
echo 'event.preventDefault();';
echo 'event.stopPropagation();';
echo 'if (menu.is(":visible"))';
echo '{';
echo 'menu.slideUp(400);';
echo 'jwplayer( "my-video'.$row["id"].'" ).stop();';
echo '}';
echo 'else';
echo '{';
echo 'menu.slideDown(400);';
echo '}';
echo '});';
echo '$(document).not("#shfaqa'.$row["id"].', #butoni'.$row["id"].'").click(function(event) {';
echo 'event.preventDefault();';
echo 'if (menu.is(":visible"))';
echo '{';
echo 'menu.slideUp(400);';
echo 'jwplayer( "my-video'.$row["id"].'" ).stop();';
echo '}';
echo '});';
echo '})';
echo '</script>';

2 个答案:

答案 0 :(得分:2)

我认为你错过了一个;在第3行。这应该更好:

echo 'var menu = $("#shfaqa'.$row["id"].'");';

你也在最后错过了一个分号:

echo '});';
echo '});';
echo '</script>';

但是整个概念有一些问题,如Implant所说

你可以通过使用一个回声来编写这整个事情。更清楚,不是吗?

echo "<script>
    $(document).ready(function(){
        var menu = $(\"#shfaqa{$row["id"]}\");
        $(\"#butoni{$row["id"]}\").click(function(event){
            event.preventDefault();
            event.stopPropagation();
            if (menu.is(\":visible\"))
            {
                menu.slideUp(400);
                jwplayer( \"my-video{$row["id"]}\" ).stop();
            }
            else
            {
                menu.slideDown(400);
            }
        });
        $(document).not(\"#shfaqa{$row["id"]}, #butoni{$row["id"]}\").click(function(event) {
            event.preventDefault();
            if (menu.is(\":visible\"))
            {
                menu.slideUp(400);
                jwplayer( \"my-video{$row["id"]}\" ).stop();
            }
        });
    });
</script>";

答案 1 :(得分:2)

您可以使用常规HTML格式设置完整的javascript,并仅回显所需的PHP值:

<?php
// any PHP condition here
if($something) {
?>
<script>
var something = <?php echo $row["id"]; ?>;
// more javascript here
</script>
<?php
}; // close php if
?>