【发布时间】:2012-12-20 02:49:38
【问题描述】:
我有一个带有文本输入的表单和一个用于选择是/否的单选按钮对。为了简单起见,单选按钮单击事件检查该值,如果是,则显示输入文本字段。如果否,则隐藏输入字段。我还检查文档就绪的初始状态并显示/隐藏输入文本字段。
我发现单击 No 会导致使用 jQuery .hide() 方法隐藏输入。但是当我选择 Yes 时,结果 .show() 方法调用不显示输入。如果我将收音机设置为“是”然后刷新页面,那么输入显示就很好了。
Firebug 显示没有输入标签。这就像单击 No radio 删除了 DOM 中的输入一样。
这是 JS 代码示例:
$(document).ready(function() {
if ($('#cost_sharing_yes').attr('checked') == 'checked') {
$('input#Institutional_CS_TP').show();
} else {
$('input#Institutional_CS_TP').hide();
}
$('#cost_sharing_yes').click(function() {
$('input[id="Institutional_CS_TP"]').show();
});
$('#cost_sharing_no').click(function() {
$('input#Institutional_CS_TP').fadeOut("fast");
});
}
【问题讨论】:
-
尝试 if ($("#cost_sharing_yes").is(":checked")){} 也注意到 fadeOut .. 不应该有所作为,但使用 hide() .. 可能有问题有不透明度什么的
标签: javascript jquery show-hide textinput