如果选择了某个表单中的某个单选按钮,我想显示一个div,但如果选择了表单中的任何其他单选按钮,则使用jquery隐藏该div。
这是我的代码无效:
$("select").change(function(){
if($("#radio1").is(":selected")){
$("#grid_9 omega").slideDown("slow");
} else { $("#grid_9 omega").slideUp("slow"); }
});
我想要显示div“gid_9 omega”的单选按钮的id是“radio1”。
感谢您的帮助!
答案 0 :(得分:2)
我冒昧地想,也许欧米茄是一个你错误提到的课程。
首先,这里没有选择,所以这对你不起作用。您需要对所有input[type=radio]
进行测试。
接下来,所选的单选按钮属性实际为checked=checked
,因此您需要测试是否选中了要检查的对象。如果没有,不采取任何行动,如果是,请展示你的div。
<强> A JSFiddle 强>
在下面使用类似的html结构:
<form id="form1" name="form1" method="post" action="">
<p>
<label>
<input type="radio" name="RadioGroup1" value="radio1" id="radio1" />
Radio 1</label>
<br />
<label>
<input type="radio" name="RadioGroup1" value="radio2" id="radio2" />
Radio 2</label>
<br />
<label>
<input type="radio" name="RadioGroup1" value="radio3" id="radio3" />
Radio 3</label>
<br />
</p>
</form>
<div id="grid_9" class="omega" style="display:none">show me when Radio 1 is chosen
你的js看起来像这样:
$(document).ready(function() {
$("input[type=radio]").on('click', function(){
if ($('#radio1').is(':checked')){
$("#grid_9.omega").slideDown("slow");
} else {
$("#grid_9.omega").slideUp("slow");
}
});
});
答案 1 :(得分:0)
您不应在ID名称的字符之间使用空格,select
元素也与radio
按钮无关,请尝试以下操作:
$("#radio1").change(function(){
if($(this).is(":checked")) {
$(".omega").slideDown("slow"); // note that `omega` has no "hash" or "dot" sign and this returns undefined
} else if ($('.omega').is(':visible')) { // makes sure that omega is visible
$(".omega").slideUp("slow");
}
});