我有一个带有文本输入的表单和一个用于选择是/否的单选按钮对。为了简单起见,单选按钮单击事件会检查该值,如果是,它会显示输入文本字段。如果否,则隐藏输入字段。我还检查了文档准备就绪的初始状态并显示/隐藏输入文本字段。
我发现单击 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");
});
}