2013-07-29 133 views
0

我有兩個按鍵爲隱藏設置:jQuery的點擊隱藏和顯示其他按鈕

<input type="button" id="a" style="display:none;" value="A" /> 
<input type="button" id="b" style="display:none;" value="B" /> 

我有一個jquery,我檢查從數據庫中獲取一定的條件。任何一個按鈕都會顯示出來,這取決於條件是1還是0 ..這意味着當我點擊任何一個按鈕時,它必須隱藏起來,另一個必須顯示出來。但它不是happening..The按鈕我點擊獲取隱藏和其他按鈕不會顯示up..If任何人都可以幫助..我的jQuery:

$(document).ready(function() { 
     var condition = "<?php echo $condition; ?>"; //i get this from database 
     var c = condition; 


     if(c == 0){ 

       $('#a').css({'display':''}); 
      $('#a').click(function(){ 
      $('#a').hide(); 
      $('#b').show(); 

        }); 
     }else if(c == 1){ 

       $('#b').css({'display':''}); 
      $('#b').click(function(){ 
      $('#b').hide(); 
      $('#a').show(); 
     } 
     }); 
+0

嘗試在JS中記錄或警告條件變量..它的價值是什麼? –

+0

你可能想看看jquery [.toggle](http://api.jquery.com/toggle/)功能 – Sharlike

+0

@VedantTerkar它的價值沒有得到更新的按鈕點擊警報,但得到更新數據庫.. – user2605321

回答

2

您需要將您的.click(function(){})移動到if/else塊之外,因爲condition/c永不改變,所以只有第一個.click(function(){})有效。另一個永遠不會被調用。這樣,您的隱藏/顯示就不受condition/c值的影響。

$(document).ready(function() { 
    var condition = <?php echo $condition; ?>; //i get this from database 
    var c = condition; 


    if(c == 0){ 

      $('#a').css({'display':''}); 
    }else if(c == 1){ 

      $('#b').css({'display':''}); 
    } 

     $('#a').click(function(){ 
       $('#a').hide(); 
       $('#b').show(); 
     }); 
     $('#b').click(function(){ 
       $('#b').hide(); 
       $('#a').show(); 
     }); 
    }); 

看到這樣的jsfiddle例子 - http://jsfiddle.net/bWJ5A/1/

+0

這將是一些幫助..!謝謝.. :) – user2605321

+0

總是很樂意提供幫助。 – Sean

1
var condition = "<?php echo $condition; ?>"; 

這應該進行修改,以

var condition = <?php echo $condition; ?>; 

你得到一個字符串,但你與數字進行比較。

+1

它看起來像'1 =='1''與'1 == 1'(http://stackoverflow.com/a/359547/689579)相同,所以任何一個在使用整數時都是有效的。 – Sean

0

這樣的代碼,在butB點擊;你還沒有關閉「});」

<html> 
<script src="http://code.jquery.com/jquery-1.10.2.min.js"></script> 
<script> 
$(document).ready(function() { 
var condition = 0; //i get this from database 
    var c = condition; 
    if(c == 0){ 
     $('#a').css({'display':''}); 
     $('#a').click(function(){ 
      $('#a').hide(); 
      $('#b').show(); 
     }); 
    }else if(c == 1){ 
     $('#b').css({'display':''}); 
     $('#b').click(function(){ 
      $('#b').hide(); 
      $('#a').show(); 
     }); 
    } 
    }); 
</script> 
<body> 
<input type="button" id="a" style="display:none;" value="A" /> 
<input type="button" id="b" style="display:none;" value="B" /> 
</body> 
</html>