我有两个按钮设置为隐藏:
<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();
}
});
答案 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>