简体   繁体   中英

Pass a php variable to a jQuery function

I have searched and tried several different methods to pass a php $variable to a jQuery function. I can pass a string simply by using myfunction("Hello");. But if I try myfunction(); or myfunction($variable); with or without quotes it fails to run.

function wholesection(val) {
    $("#whole-section").slideUp("fast", function () {
    });
    $('#label-cemetery').text("Section*");
    $('#poc').val(val);
}

The above works if I send a literal string enclosed in double quotes, using:

    <?php
        echo '<script>',
         'wholesection("Hello");',
         '</script>'
        ;
    ?>
</head>
<body>
    <?php
        $variable = "Hello";

        echo '<script>',
        'wholesection(' . $variable . ');',
        '</script>'
        ;
    ?>  

Or other similar variants do not work.

'wholesection($variable);',
'wholesection("$variable");',

You can pass it by echoing your php varriable in the script

try below code :

<?php
    $variable = "Hello";
?>
<script type="text/javascript">
    var simple = '<?php echo $variable; ?>';
</script>

Suppose your $variable has value "Hello" .

Then this code:

echo 'wholesection('.$variable.');',

is rendrered in html like

wholesection(Hello);

See? You're passing Hello to a function. Not "Hello" but Hello . And Hello is considered a javascript variable. I bet you don't have it.

So, the fix is - add quotes:

echo 'wholesection("'.$variable.'");',

which will be rendered as:

wholesection("Hello");

 <?php $variable = "Hello"; if(true){ ?> <script> wholesection("<?php echo $variable?>"); </script> <? } ?> 

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM