2012-12-17 32 views
1

我已经使用了这个几次,它通常很好。但是,在我最新的用法中,隐藏的div会滑落得很好,但不会回退。当单击“是”单选按钮时应滑下,单击“否”时备份。在这个时候,无论点击哪个单选按钮,它都会滑落,并且不会滑动。我认为它总是看到一个 '是' 价值..jquery slideDown/slideUp看到所有的单选按钮值相同

这里是HTML:

<div id="AliasSectionTop"> 
     Have you ever been known by another name (maiden name, name change, etc)? 
     <input type="radio" value="Yes" name="aliasName" />Yes 
     <input type="radio" value="No" name="aliasName" />No 
    </div> 

    <div id="AliasSectionBottom" class="hidden"> 

     @for (var i = 0; i < 5; i++) 
     { 
      <div class="formGroup"> 
       <div class="editor-label"> 
        @Html.Label("First Name") 
       </div> 
       <div class="editor-field"> 
        @Html.TextBoxFor(model => model.PersonAliasModel[i].FirstNameAlias) 
       </div> 
      </div> 

      <div class="formGroup"> 
       <div class="editor-label"> 
        @Html.Label("Last Name") 
       </div> 
       <div class="editor-field"> 
        @Html.TextBoxFor(model => model.PersonAliasModel[i].LastNameAlias) 
       </div> 
      </div> 
     } 

    </div> 

这里是jQuery的:

// SHow full form once the waiver checkboix is checked. 
    $(document).ready(function() { 
     $("input[name=aliasName]").click(function() { 
      if ($("input[name=aliasName]").val() == "Yes") { 
       $("#AliasSectionBottom").slideDown(800); 
      } else { 
       $("#AliasSectionBottom").slideUp("fast"); 
      } 
     }); 
    }); 
+0

它的工作原理,如果($( “输入[名称= aliasname的]”)VAL()== “是”。){ 'to'if($(this).val()==“Yes”){'? – Sharlike

回答

1

的问题是在这里:

if ($("input[name=aliasName]").val() == "Yes") 

集合$("input[name='aliasName']")中有2个元素。 jQuery只能返回一个值,所以它始终是集合中的第一个,因此您的if始终为真。

你可以使用:checked选择过滤选择:

如果你改变'
if ($("input[name='aliasName']:checked").val() == "Yes") 
相关问题