У меня есть 15 элементов формы на моей странице в следующем формате:
<tr>
<td colspan="3" class="fieldset-table-field-3-span">
@Html.EditorFor(model => model.ExistingProductId_MappingName_IsFreeText)
</td>
</tr>
Когда флажок находится в отмеченном состоянии, я бы хотел, чтобы была видна следующая строка:
<tr>
<td colspan="3" class="fieldset-table-field-3-span">
@Html.EditorFor(model => model.ExistingProductId_MappingName_FreeText)
</td>
</tr>
Я мог написать несколько JS / jQuery, чтобы скрыть строки и переключать их по щелчку, но задавался вопросом, есть ли у кого-нибудь решение для переключения состояния «следующего элемента управления», чтобы я мог таким образом подключить его к каждому флажку в моей форменужно сделать это только один раз, чтобы придерживаться DRY.
Вот разметка из первой пары строк:
<table class="fieldset-table" align="center" cellpadding="3">
<tr>
<td class="fieldset-table-label">
<label for="ExistingProductId_MappingName">Existing ID</label>
</td>
<td colspan="3" class="fieldset-table-field-3-span">
<select id="ExistingProductId_MappingName" name="ExistingProductId_MappingName"><option value="">-- Not Mapped --</option>
<option value="Id">Id</option>
<option value="Name">Name</option>
<option value="Cost Price">Cost Price</option>
<option value="Unit Price">Unit Price</option>
</select>
<span class="field-validation-valid" data-valmsg-for="ExistingProductId_MappingName" data-valmsg-replace="true"></span>
</td>
</tr>
<tr>
<td class="fieldset-table-label">
</td>
<td colspan="3" class="fieldset-table-field-3-span">
<input class="check-box" data-val="true" data-val-required="The Free text field is required." id="ExistingProductId_MappingName_IsFreeText" name="ExistingProductId_MappingName_IsFreeText" type="checkbox" value="true" /><input name="ExistingProductId_MappingName_IsFreeText" type="hidden" value="false" />
<label for="ExistingProductId_MappingName_IsFreeText">Free text</label>
</td>
</tr>
<tr>
<td class="fieldset-table-label">
<label for="ExistingProductId_MappingName_FreeText">Text value</label>
</td>
<td colspan="3" class="fieldset-table-field-3-span">
<input class="text-box single-line" id="ExistingProductId_MappingName_FreeText" name="ExistingProductId_MappingName_FreeText" type="text" value="" />
</td>
</tr>