2

行 where selection = ui.item.addClassetc.. に構文上の問題があるというエラーが表示されますが、それが何であるかわかりません。私はすべての正しい引用を逃れたと思いますが、よくわかりません。注: 最初の 2 つの変数は、空の単一引用符を含むことを意味します。

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

4 に答える 4

6

まず、コードを単純化します。

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

これで「魔法のように」問題が解決することがわかります。セミコロンがなくなったからです ;)

于 2013-04-06T22:16:42.007 に答える
4

個人的に。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 

?>
于 2013-04-06T22:17:07.420 に答える
1

14 行目にセミコロンがありません

echo  " select: function (event, ui) { ";
echo   " $(\'.selected\', this).removeClass(\'selected\'); ";

これを与える修正: http://eval.in/15236

<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\'); }  });  </script>
于 2013-04-06T22:15:53.027 に答える
0

最後の行にこれを追加します

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

試してみてください:D

于 2013-04-06T22:18:42.337 に答える