2012-09-30 105 views
0

我想在jQuery if語句中使用php布爾變量。這是我的代碼:在JQuery中使用PHP布爾if語句

if(<?php echo $show_login_error ?>) 
    $(".login_error").show(); 

.login_error是一個span元素的類。如果$ show_login_error變量爲true,那麼我想顯示跨度,如果不是,則隱藏它。默認情況下,span是隱藏的,$ show_login_error爲false。不幸的是,無論變量值如何,span都會顯示,所以我猜測我的代碼是錯誤的。我應該改變什麼才能使它正確?謝謝

+0

如果您反轉決定並使用PHP if塊將通知推送到客戶端,而不是派發決策以供客戶端觀察,則更簡單。因此,把'if'放在PHP中,並打印$('。login_error')。show()'if'true'。 –

+0

所以首先用'0'初始化,並且你已經完成了chnage以便顯示它使chnage變爲1,然後出現這種情況。 –

回答

6

首先,確保.login_error默認爲隱藏(display:none)。

然後,嘗試

if(<?php echo (int)$show_login_error ?>) 
    $(".login_error").show(); 

只是爲了確保它打印0或1(因爲echo false不打印單個字符)

echo false;  //prints nothing 
echo true;  //prints '1' 
echo (int)false; //prints '0' 
echo (int)true; //prints '1' 

編輯

其他解決方案下面提供的也將工作! ;-)

+0

peeeeerfecct。非常感謝你。 –

0
<?php if($show_login_error == true) ?> 
$(".login_error").show(); 
<?php else: ?> 
$(".login_error").hide(); 
<?php endif; ?>