我正在尝试启用/禁用一组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>
提前致谢。
答案 0 :(得分:0)
您可以在下拉列表中添加ID。并且每个EditorFor的id可以与下拉选项的文本相同。然后使用jquery获取下拉选项。之后你可以禁用你想要的编辑器
var selectedOption = $("#yourdropdownid option:selected").text();
$('#'+selectedOption).prop('disabled', true);
如果您使用的是bootstrap,则可以
$('#'+selectedOption).addClass("disabled");