1

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

谢谢你的帮助!

4

2 回答 2

2

我冒昧地认为,也许 omega 是您错误地指代的一类。

首先,这里没有选择,所以这对你不起作用。您需要对所有input[type=radio].

接下来, selected 的单选按钮属性实际上是checked=checked,因此您需要测试您要检查的那个是否被选中。如果不是,什么也不做,如果是,显示你的 div。

一个 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");
        }
    });
});

​</p>

于 2012-06-27T00:35:09.333 回答
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"); 
} 
});
于 2012-06-27T00:20:35.207 回答