这是我的代码:
HTML:
<span id="opc1"> <input type="radio" name="radio_relatorio" id="tipo_relA" value="A"> A </span>
<span id="opc2"> <input type="radio" name="radio_relatorio" id="tipo_relS" value="S"> S </span>
Javascript:
$("select[name=tprel]").change(function() {
document.getElementById("tpbaixa").selectedIndex = 0;
muda_label_datas($(this).val());
if($(this).val() == 18)
{
$("#opc2").css("display","block");
$("#opc1").css("display","none");
$("#tipo_relS").attr('checked', true);
}
else
{
$("#opc2").css("display","none");
$("#opc1").css("display","block");
$("#tipo_relS").attr('checked', false);
} // it's an large function, but that's what matter
});
更改功能下有两个广播,#tipo_relS
和#tiporelA
。在onload函数上检查无线电#tiporelA
。当option的值为18时,无线电#tiporelA
显示为none,#tiporelS
为显示块。
我需要检查此单选按钮#tiporelS
,而#tiporelA
显示为无,但似乎没有任何效果。
答案 0 :(得分:0)
你可以尝试:
$("#tipo_relS").attr('checked', true);
答案 1 :(得分:0)
诀窍在于你必须取消隐藏单选按钮,单击或检查它然后在同一个功能中重新隐藏它。用户不会看到更改,但它将允许浏览器选择值,并且足够快,以至于用户看不到它。
答案 2 :(得分:0)
正如我在评论中所说,你的描述和代码不匹配!因此,纯粹基于假设,我想出了这个。
tipo_relA
并隐藏tipo_relS
。tprel
的选择框时,如果值为18,则隐藏tipo_relA
并显示tipo_relS
。演示:
$("select[name=tprel]").change(function() {
$("#opc2, #opc1").addClass("hidden");
$(":radio").prop('checked', false);
if( $(this).val() == 18) {
$("#opc2").removeClass("hidden");
$("#tipo_relS").prop('checked', true);
} else {
$("#opc1").removeClass("hidden");
$("#tipo_relA").prop('checked', true);
}
}).change();
.hidden {
display: none;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<span id="opc1">
[tipo_relA] <input type="radio" name="radio_relatorio" id="tipo_relA" value="A" />
</span>
<span id="opc2" class="hidden">
[tipo_relS] <input type="radio" name="radio_relatorio" id="tipo_relS" value="S" />
</span>
<select name="tprel">
<option value=""></option>
<option value="18">18</option>
<option value="2">2</option>
<option value="3">3</option>
</select>