2013-06-22 169 views
0

我有以下代碼。它在劇本中的工作,但是真實的和虛假的迴歸,我認爲是「真實的」和「虛假的」。設置jQuery變量與PHP

var superslider_play = "<?php get_option_tree('superslider_play', '', 'false'); ?>" 
var superslider_pagination = "<?php get_option_tree('superslider_pagination', '','false'); ?>" 

$('#superslider_home').superslides({ 
    play: superslider_play, // Milliseconds for delay 
    pagination: superslider_pagination 
}); 

伊夫使用json_encode().replace("\"","\\\"")嘗試,但似乎沒有任何合作。任何幫助將不勝感激。

+0

你可能錯過了'echo'。像這樣:'<?php echo get_option_tree(...' – hek2mgl

+0

'<?php echo json_encode(get_option_tree(...' –

+0

)並刪除它周圍的引號...... var superslider_play = <?php echo json_encode (get_option_tree(...' –

回答

4

您已經硬編碼了引號<?php ...?>外:

var superslider_pagination = "<?php get_option_tree('superslider_pagination', '','false'); ?>" 
// remove the double quotes -^-----------------------------------------------------------------^ 

假設你想要得到的結果是:

var superslider_pagination = true; 
// OR 
var superslider_pagination = false; 

...瀏覽器認爲這是JS的時間。

+0

同意。「false」將評估爲true,除非插件將其作爲字符串進行比較。) – Ohgodwhy

+0

非常感謝。我錯過了一個;在之後所有好的現在沒有引號 – user2510851

0

試試這個<?php echo get_option_tree('superslider_play', '', 'false'); ?>"你沒有返回函數。這個對象返回的數據類型是什麼(Fro進一步的幫助)?

1

如果要將參數作爲bool(truefalse)傳遞,則不需要使用引號。 相反的:

<?php get_option_tree('superslider_pagination', '','false'); ?> 

試試這個:

<?php get_option_tree('superslider_pagination', '',false); ?> 
0

值被說成「真」與「假」,因爲你之前和PHP標籤後使用引號。

下面的代碼:

var a = <?php echo "hola"; ?> ; // 
var b = "<?php echo "hola"; ?>" ; // 

將輸出

var a = hola ; 
var b = "hola" ; 

關於您嘗試使用json_encode,也許你忘了做一個迴音。

<?php 
json_encode(true); // prints nothing 
echo json_encode(true); // prints true 
?> 

在我看來,應該使用json_encode函數。 在一般情況下,我會去的:

<?php 
function get_option_tree($a,$b,$c) { 
     return true; 
} 
?> 
var superslider_play = <?php echo json_encode(get_option_tree('superslider_play', '', 'false')); ?> ; 
var superslider_pagination = <?php echo json_encode(get_option_tree('superslider_pagination', '','false')); ?> ; 

$('#superslider_home').superslides({ 
play: superslider_play, // Milliseconds for delay 
pagination: superslider_pagination 

}); 

此輸出:

var superslider_play = true ; 
var superslider_pagination = true ; 

$('#superslider_home').superslides({ 
play: superslider_play, // Milliseconds for delay 
pagination: superslider_pagination 

});