2016-10-22 251 views
0

我已經搜索並嘗試了幾種不同的方法將php $變量傳遞給jQuery函數。我可以通過使用myfunction(「Hello」);來傳遞一個字符串。但如果我嘗試myfunction();或myfunction($ variable);有或沒有報價它無法運行。將php變量傳遞給jQuery函數

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

上述工作,如果我送雙引號括起來一個字符串,使用:

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

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

或者其他類似的變種不工作。

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

你可以這樣調用'' – Haridarshan

+0

您是否看到''Hello「'和'$ variable'之間的區別?> –

+0

使用像這樣你缺少quations echo''';' – mlbd

回答

0

假設你$variable具有價值"Hello"

那麼這個代碼:

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

是HTML rendrered像

wholesection(Hello); 

看到了嗎?你將Hello傳遞給一個函數。不是"Hello",而是Hello。 而Hello被視爲一個JavaScript變量。我敢打賭你沒有它。

因此,修復程序 - 添加引號:

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

這將呈現爲:

wholesection("Hello"); 
0

您可以通過腳本

試試下面的代碼呼應你的PHP varriable傳遞:

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

<?php 
 
$variable = "Hello"; 
 

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

+1

謝謝大家,這就是我所需要的 - 一套全新的眼睛和一個不成熟的大腦。 – Russ