奇怪的jQuery单选按钮显示/隐藏bug
Strange jQuery radio button show/hide bug
我希望用户名文本字段显示当op1和op2被选中和两个文本字段,如果op3被选中。我有一个奇怪的错误,任何单选按钮选择将始终显示用户名和密码文本字段。为什么会发生这种情况?
HTML:<div>Please select operation:<br />
<input type="radio" id="op1" name="op" value="check_username">Check Username<br />
<input type="radio" id="op2" name="op" value="find_profile">Find Profile<br />
<input type="radio" id="op3" name="op" value="check_credentials">Check Credentials
</div><br />
<div id="un">Username:<br /><input type="text" /></div>
<div id="pwd">Password:<br /><input type="text" /></div>
jQuery: $(document).ready(function() {
$('#un, #pwd').hide();
$('input[name="op"]').prop('checked', false);
$("input[type=button]").attr("disabled", "disabled");
$('input:radio[name=op]').change(function() {
var op = $('input:radio[name=op]:checked').val();
alert(op);
switch(op) {
case 'check_username':
$('#un').show();
$('#pwd').hide();
case 'find_profile':
$('#un').show();
$('#pwd').hide();
case 'check_credentials':
$('#un, #pwd').show();
}
});
});
您在每个case
语句之后都缺少break
语句。在我添加它们之后,它工作得很好!
您忘记了在每个case中使用'break':
switch(op) {
case 'check_username':
$('#un').show();
$('#pwd').hide();
break;
case 'find_profile':
$('#un').show();
$('#pwd').hide();
break;
case 'check_credentials':
$('#un, #pwd').show();
break;
}
相关文章:
- 在单击任何位置时隐藏元素,而不检查每次DOM单击
- 显示5秒后隐藏潜水
- 在不使用JQuery的情况下隐藏DOM中的选定元素
- 剑道UI内联编辑:如何在点击其他按钮时隐藏按钮
- 浮动页脚栏-使用Bootstrap隐藏
- 在jquery中为显示/隐藏设置cookie
- 单击按钮后如何逐个调用分区,上一个分区将隐藏
- 从var向代码隐藏函数传递值
- Image赢得't隐藏在滚动jQuery上
- 具有rowGrouping的数据表无法隐藏列
- Jquery隐藏未触发
- JavaScript 检查隐藏字段中的值并将其设置为隐藏字段值
- 分部隐藏在jquery中不起作用
- 点击后隐藏潜水?(但如果Div是一面旗帜呢?)
- javascript.点击隐藏事件故障
- 禁用(而不是隐藏)浏览器滚动条
- d3”;隐藏的“;属性bug或我代码中的bug
- JQuery Validate:验证隐藏表单(可能的bug)
- 奇怪的jQuery单选按钮显示/隐藏bug
- 隐藏滚动条的狮子/山狮的CSS悬停bug