1

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

<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();
        }
        });
4

3 回答 3

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/

于 2013-07-29T16:38:36.213 回答
1
var condition = "<?php echo $condition; ?>";

这应该修改为

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

你得到了一个字符串,但你与一个数字进行了比较。

于 2013-07-29T16:35:01.187 回答
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>
于 2013-07-29T16:50:14.700 回答