jquery点击隐藏并显示另一个按钮

时间:2013-07-29 16:30:52

标签: php javascript jquery

我有两个按钮设置为隐藏:

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

我有一个jquery,我检查从数据库中提取的一些条件。将显示其中一个按钮,这取决于条件是1还是0 ..这意味着当我单击任何按钮时,它必须被隐藏而另一个必须显示...?但它没有发生..我点击的按钮被隐藏而另一个按钮没有显示出来..如果有人可以提供帮助..我的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();
        }
        });

3 个答案:

答案 0 :(得分: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/

答案 1 :(得分:1)

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

这应该修改为

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

你有一个字符串,但你用数字进行比较。

答案 2 :(得分:0)

这样的代码,但是点击了;你没有关闭“});”

<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>