Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/297.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript在php上不工作_Javascript_Php_Jquery - Fatal编程技术网

Javascript在php上不工作

Javascript在php上不工作,javascript,php,jquery,Javascript,Php,Jquery,我试图在每个数据库表记录上执行此javascript代码。 我试图在脚本上定义所有的div id,但是由于我不是一个好的javascript,所以我找不到问题出在哪里 我认为javascript应该使用uniq名称指定。。。代码如下: echo '<script>'; echo '$(document).ready(function(){'; echo 'var menu = $("#shfaqa'.$row["id"].'")'; echo '$("#butoni'.$row["i

我试图在每个数据库表记录上执行此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>';

我想你错过了一个机会;在3号线。这应该更好:

echo 'var menu = $("#shfaqa'.$row["id"].'");';
在结尾处也缺少一个分号:

echo '});';
echo '});';
echo '</script>';
但正如他所说,整个概念存在一些问题

你可以用一个回音来写这整件事。更清楚,不是吗

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>";

您可以将完整的javascript设置为常规HTML格式,并只回显所需的PHP值,如:

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

为什么要逐行回显所有内容?因为它位于php的while$row=mysql\u fetch\u array$query{'@MobileSolutions:这不是原因。请看一看–这使得语法更清晰。CBroe是对的,它可以使用一个回显编写。请参阅我的答案