从选择Html.DropDownListFor

时间:2015-08-07 13:59:21

标签: c# asp.net-mvc

我正在尝试启用/禁用一组EditorFor控件,具体取决于从Html.DropDownListFor控件中做出的选择。

我的下拉列表中有4个元素,我想在选择下拉列表中的每个元素时启用一组编辑器控件。

目前我有以下简单代码:

<div id="label-address-type" class="line">
    @Html.BasicLabelFor(m => m.ReturnsLabelAddressType)
    @Html.DropDownListFor(m => m.ReturnsLabelAddressType, new   SelectList(Model.AddressTypeList(Model.ReturnsLabelAddressType), "Value", "Text"))
</div>
<div class="line">
          @Html.BasicLabelFor(m => m.OtherReturnsLabelAddress.AddressLine1)
    @Html.EditorFor(m => m.OtherReturnsLabelAddress.AddressLine1)
</div>
<div class="line">
    @Html.BasicLabelFor(m => m.OtherReturnsLabelAddress.AddressLine2)
    @Html.EditorFor(m => m.OtherReturnsLabelAddress.AddressLine2)
</div>
<div class="line">
    @Html.BasicLabelFor(m => m.OtherReturnsLabelAddress.AddressLine3)
    @Html.EditorFor(m => m.OtherReturnsLabelAddress.AddressLine3)
</div>
<div class="line">
    @Html.BasicLabelFor(m => m.OtherReturnsLabelAddress.AddressLine4)
    @Html.EditorFor(m => m.OtherReturnsLabelAddress.AddressLine4)
</div>
<div class="line">
    @Html.BasicLabelFor(m => m.OtherReturnsLabelAddress.LocationCode)
    @Html.EditorFor(m => m.OtherReturnsLabelAddress.LocationCode)
</div>

提前致谢。

1 个答案:

答案 0 :(得分:0)

您可以在下拉列表中添加ID。并且每个EditorFor的id可以与下拉选项的文本相同。然后使用jquery获取下拉选项。之后你可以禁用你想要的编辑器

var selectedOption = $("#yourdropdownid option:selected").text();
$('#'+selectedOption).prop('disabled', true); 

如果您使用的是bootstrap,则可以

$('#'+selectedOption).addClass("disabled");