我有两个按钮设置为隐藏:
<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();
}
});
您需要将.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/
var condition = "<?php echo $condition; ?>";
应将其修改为
var condition = <?php echo $condition; ?>;
你得到了一个字符串,但你与一个数字进行了比较。
这样的代码,点击按钮B;您尚未以"});"结束
<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>