2013-06-26 2 views
0

Ниже приведен jquery, который я использую для перехода по группе элементов fieldset и, основываясь на выборе пользователя из группы переключателей, выберите, какой из них должен быть видимые и которые должны быть скрыты (все они скрыты при загрузке страницы). Однако я не могу использовать метод .show().jquery .show() не работает над ASP-полями MVC 3

JQuery

$(document).ready(function() { 
    $('input[name=TransactionType]').change(function() { 
     var radioValue = $(this); 
     var elements = []; 

     $('#RightDiv').children().each(function() { 
      console.log(radioValue.attr('id') + " " + $(this).attr('id')); 
      if (radioValue.attr('id') == $(this).attr('id')) { 
       console.log('here'); 
       $(this).show(); 
      } else { 
       $(this).hide(); 
      } 
     }); 
    }); 
}); 

ASP MVC

<div id="LeftDiv" style="width:450px;float:left;"> 
    <fieldset style="width:350px;"> 
     @Html.RadioButton("TransactionType", false, new { @id = "Enroll" }) Enroll a Tax ID for EFT <br /> 
     @Html.RadioButton("TransactionType", false, new { @id = "New" }) New Tax ID Without EFT Enrollment <br /> 
     @Html.RadioButton("TransactionType", false, new { @id = "ModT" }) Modify EFT Information by Tax ID <br /> 
     @Html.RadioButton("TransactionType", false, new { @id = "ModA" }) Modify EFT Information by Agent ID <br /> 
     @Html.RadioButton("TransactionType", false, new { @id = "Clone" }) Clone EFT on to a Sub Agent ID <br /> 
     @Html.RadioButton("TransactionType", false, new { @id = "Unenroll" }) Unenroll EFT by Tax ID 
    </fieldset>   
</div 
<div id="RightDiv" style="width:420px;float:left;"> 
    <fieldset id="Enroll" style="width:350px; visibility: hidden;">...</fieldset> 
    <fieldset id="New" style="width:350px; visibility: hidden;">...</fieldset> 
    <fieldset id="ModT" style="width:350px; visibility: hidden;">...</fieldset> 
    <fieldset id="Clone" style="width:350px; visibility: hidden;">...</fieldset> 
    <fieldset id="Unenroll" style="width:350px; visibility: hidden;">...</fieldset>     
</div> 

Вот снимок экрана консоли считывания из Jquery петли

enter image description here

ответ

5

Изменить visibility: hidden; ваших полей на карте display: none;.

Это исправит вашу проблему.

+0

Удивительный, спасибо! – NealR

0

jQuery.show() только знает, как бороться с display собственности CSS согласно API documentation поэтому для этого кода для работы вам необходимо либо использовать display:none; вместо visibility:hidden; или использовать jQuery.attr() для редактирования атрибута стиля.