将JS放在PHP var中

时间:2012-04-19 01:22:21

标签: php javascript

我的PHP文档末尾有一个变量,在页脚中。但是,因为它是模板,所以在每个页面中以不同方式创建变量的内容。该变量的大部分内容都是JS,看起来像这样:

  $myVar = '
    $(function() {
    '.$qTip.'

    $(".delDupe").click(function(){
        $(this).parent().find("input").val("");
        $(this).remove();
    });

    function custAxis() {
        if ($("#axisChk").is(":checked")){
            $(".customAxis").show();
        } else {
            $(".customAxis").hide();
        }
    }

    custAxis();
 });

这只是所有JS的一小部分。我想包含这个JS,仍然将它作为PHP变量的一部分,但不在PHP之外。可能吗?

$myVar = '?>
      // my JS
<? ';

4 个答案:

答案 0 :(得分:2)

您可以使用以下格式:

$myVar = <<<EOD
Example of string
spanning multiple lines
using heredoc syntax.
EOD;

答案 1 :(得分:1)

您可以使用heredoc:

<?
$myVar = <<<END
$(function() {
....    
END;

echo $myVar;
?>

答案 2 :(得分:1)

你可以使用heredoc

<?php 
$myVar = <<<EOD
   $(".delDupe").click(function(){
        $(this).parent().find("input").val("");
        $(this).remove();
    });

    $qTip

    function custAxis() {
        if ($("#axisChk").is(":checked")){
            $(".customAxis").show();
        } else {
            $(".customAxis").hide();
        }
    }
EOD;
?>

或者您可以使用ob_start并跳出PHP并将输出作为变量获取,这就是我加载所有视图的方式/ html

<?php
ob_start();
?>
  $(".delDupe").click(function(){
        $(this).parent().find("input").val("");
        $(this).remove();
    });

    <?=$qTip;?>

    function custAxis() {
        if ($("#axisChk").is(":checked")){
            $(".customAxis").show();
        } else {
            $(".customAxis").hide();
        }
    }
<?php
$myVar = ob_get_contents();
ob_end_clean();
echo $myVar;
?>

答案 3 :(得分:0)

将JavaScript放入html并从php输出$ qTip字符串。它与你所做的或多或少相同的效果,只是用另一种方式写的。

$(function() {
<?=$qTip?>

$(".delDupe").click(function(){
    $(this).parent().find("input").val("");
    $(this).remove();
});

function custAxis() {
    if ($("#axisChk").is(":checked")){
        $(".customAxis").show();
    } else {
        $(".customAxis").hide();
    }
}

custAxis();
});