使用jquery根据所选的表单值显示div

时间:2012-06-27 00:08:06

标签: jquery

如果选择了某个表单中的某个单选按钮,我想显示一个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”。

感谢您的帮助!

2 个答案:

答案 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"); 
} 
});