-1

在我的 ASP MVC 3 视图中,我有许多页面加载时的fieldset元素。hidden根据用户对一组单选按钮的选择,我需要使相应的fieldset可见。

我想在 jquery 中通过创建一个fieldset元素数组来执行此操作,然后循环遍历它们,visibility如果它们与选定的单选按钮匹配,则调整它们的属性。这可能吗?

由于fieldsets我附上了下面的屏幕截图以节省空间/使其更具可读性,因此代码太多。fieldsets我要更改的内容位于RightDiv. 如果您需要更多详细信息,请告诉我。谢谢在此处输入图像描述

4

2 回答 2

1

你可以试试这个:

$(function(){
    $('[name="TransactionType"]').change(function(){
       var id = '#' + this.className; //Get the id from the clicked radio classname
       $('#RightDiv').find('fieldset').hide();// hide all fieldsets;
       $('#RightDiv').find(id).show(); // show the selected one.
    });
});

请注意,在您的 html 帮助程序中,您将第一个重载提供为所有人的同名。一切都很好,除了我相信它会为每一个创建重复的 id。您可能希望在 HTML 属性中覆盖它。

@Html.RadioButton("TransactionType", false, new{@class="Enroll", id="Radio1"}) 
@Html.RadioButton("TransactionType", false, new{@class="New", id="Radio2"}) 
于 2013-06-26T16:21:42.560 回答
0

抱歉,这个帖子有点太早了。尝试了以下,它工作得很好。

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

        $('#RightDiv').children().each(function () {
            elements.push($(this));
        });
    });
});
于 2013-06-26T16:25:40.813 回答