在PHP中回显javascript时出错

在PHP中回显javascript时出错,php,javascript,echo,Php,Javascript,Echo,我收到一个错误,在selection=ui.item.addClassetc,但我不知道是什么。我想我避开了所有正确的引语,但我不确定。注意:前两个变量包含空单引号 <?php echo "<script>"; echo "$(function(){"; echo "var selection = \' \'; "; echo "var selectClass = \' \'; "; echo " $(\".menu\").menu({

我收到一个错误,在
selection=ui.item.addClass
etc,但我不知道是什么。我想我避开了所有正确的引语,但我不确定。注意:前两个变量包含空单引号

<?php      
echo    "<script>";

echo    "$(function(){";


echo  "var selection = \' \'; ";

echo  "var selectClass = \' \'; ";

echo  " $(\".menu\").menu({ ";

echo  " select: function (event, ui) { "
echo   " $(\'.selected\', this).removeClass(\'selected\'); ";
echo     "  selection = ui.item.addClass(\'selected\').children(\'a\').attr(\'name\');";


echo  " }"; // closes select function

echo  "  }); "; // closes menu
echo  " </script>";
?>

第14行缺少分号

修正了这一点:

$(function(){var selection=\'\';var selectClass=\'\';$(“.menu”).menu({select:function(event,ui){$(\'.selected\'),this.removeClass(\'selected\');selection=ui.item.addClass(\'selected\').children(\'a\').attr(\'name\');});

首先,我将简化您的代码:

<?php      
echo  <<<'SCRIPT'
<script>
$(function(){
    var selection = ' ';
    var selectClass = ' ';
    $(".menu").menu({
        select: function (event, ui) {
            $('.selected', this).removeClass('selected');
            selection = ui.item.addClass('selected').children('a').attr('name');
        } // closes select function
    }); // closes menu
}); // close function()
</script>
SCRIPT;
?>


你会发现这“神奇地”解决了你的问题,因为现在你没有丢失的分号;)

我个人。我会退出Javascript的标记。当我完成键入后,我认为重新打开PHP标记继续没有坏处

 //Other code here 
?>
<script>
$(function(){


var selection = ' ';

var selectClass = ' ';

$(".menu").menu({

select: function (event, ui) { 
$('.selected', this).removeClass('selected');
selection = ui.item.addClass('selected').children('a').attr('name');


}// closes select function

});// closes menu
});// closes function()
</script>

<?php 
// Continue here 

?>
//这里还有其他代码
?>
$(函数(){
var选择=“”;
var selectClass='';
$(“.menu”).menu({
选择:函数(事件,ui){
$('.selected',this.removeClass('selected');
selection=ui.item.addClass('selected').children('a').attr('name');
}//关闭选择功能
});//关闭菜单
});//关闭函数()
在最后一行添加此

echo  "  }); "; // closes menu
// --- add this
echo " });";
// -----
echo  " </script>";
echo“});”;//关闭菜单
//---加上这个
回声“});”;
// -----
回声“;

试试看:D

javascript输出的
echo有什么意义?你为什么不干脆退出你的PHP标签,然后再回来呢?你不需要在
-一个简单的“select”会更好,但为什么要将javascript与php混合?分开逻辑这只是我正在尝试的东西。我不确定我是否会保留它,但现在混合使用javascript和php是我知道如何在我使用的所有其他代码中将javascript变量添加到另一个页面的最好方法。
 //Other code here 
?>
<script>
$(function(){


var selection = ' ';

var selectClass = ' ';

$(".menu").menu({

select: function (event, ui) { 
$('.selected', this).removeClass('selected');
selection = ui.item.addClass('selected').children('a').attr('name');


}// closes select function

});// closes menu
});// closes function()
</script>

<?php 
// Continue here 

?>
echo  "  }); "; // closes menu
// --- add this
echo " });";
// -----
echo  " </script>";