2014-11-08 107 views
0

我已经开发了使用MVC剃刀技术C#页面,我的代码如下基于枚举选择单选按钮.NET MVC如何隐藏输入字段

<div class="col-md-4"> 
       <label for="" class="control-label"> 
        IDMS Reference <font color="red">*</font></label><br /> 
       <div class="radio col-md-4"> 
        @Html.EnumRadioButtonFor(m => m.enumIDMSReference, false).DisableIf(() => 
                      Model.IdmsRef == 2) 

       </div> 

<div class="col-md-4"> 
       <label for="" class="control-label"> 
        IDMS Reference Number <font color="red">*</font></label><br /> 
       @Html.TextBoxFor(m => m.IdmsRefNo, new { @class = "form-control" 
              }).DisableIf(() => Model.InwardBranch == true) 
</div> 

和我枚举类以下,

public enum enumIDMSReference 
{ 
    [Description("Applicable")] 
    Applicable = 1, 

    [Description("Not Applicable")] 
    NotApplicable = 2, 

} 

在这里,如果我们点击不适用单选按钮,然后IDMS参考号码输入呸应该禁用ld,并且输入IdmsRefNo字段应该只为适用的单选按钮启用,以便如何在JQuery或其他任何解决方案中执行此操作? 请任何人帮忙

+0

你能给一个示例代码吗? – 2014-11-08 05:16:48

+0

选中此链接http://romikoderbynew.com/2012/02/23/asp-net-mvc-rendering-enum-dropdownlists-radio-buttons-and-listboxes/ – 2014-11-08 05:31:33

+0

我无法在该链接中找到解决方案。请如果你能帮助,那么帮助我。 – 2014-11-08 05:43:47

回答

0

如果我理解你的问题是正确的,你想根据选定的收音机选项禁用一个字段。您可以绑定单选按钮的更改事件并相应地禁用/启用您的文本框。 [.NET FIDDLE]

$('input[name="enumIDMSReference"]').change(function() { 
    if ($(this).is(':checked') && $(this).val() == 'NotApplicable') { 
     $('#IdmsRefNo').attr('disabled', 'disabled'); 
    } else { 
     $('#IdmsRefNo').removeAttr('disabled'); 
    } 
}); 

您可以在您的枚举值重复,像这样(我不检查空值,你可以做你自己):

@foreach (var value in Enum.GetValues(Model.enumIDMSReference.GetType())) 
{ 
    var memInfo = Model.enumIDMSReference.GetType().GetMember(value.ToString()); 
    var attributes = memInfo[0].GetCustomAttributes(typeof(DescriptionAttribute), false); 
    var description = ((DescriptionAttribute)attributes[0]).Description; 

    @Html.RadioButtonFor(m => m.enumIDMSReference, value); 
    @Html.Label(description); 
    @Html.Raw("<br />"); 
} 

可以通过禁用进一步扩大这一/根据enumIDMSReference的值,默认启用服务器端的文本框。

+0

它的工作......谢谢你太多了! – 2014-11-08 10:01:21