Member 14615938 Ответов: 1

Отображать текстовое поле, когда флажок проверяется в ядро ASP.NET 3


I want the text box to be displayed when the checkbox is active, so I wrote the following code in the razor


Что я уже пробовал:

<div class="form-group form-check">
          <label class="form-check-label">
              <input class="form-check-input" asp-for="OwnerStatus" /> @Html.DisplayNameFor(model => model.OwnerStatus)
          </label>
      </div>
      <div class="form-group" id="owner-container" style="display:none;">
          <label asp-for="OwnerName" class="control-label"></label>
          <input asp-for="OwnerName" class="form-control" />
          @*<span asp-validation-for="OwnerName" class="text-danger"></span>*@
      </div>



$(документ).готово(функция () {
$('#OwnerStatus').change(функция (e) {
ВАР этот флажок установлен = $(Эл.currentTarget).это(':проверено');
changeOwnerNameStatus(этот флажок установлен);
});
});

1 Ответов

Рейтинг:
12

Richard Deeming

Вы не объяснили, что не так с вашим кодом. Но что-то вроде этого должно сработать:

<div class="form-group form-check">
    <label class="form-check-label">
        <input class="form-check-input" asp-for="OwnerStatus" data-toggle="collapse-group" data-target="#owner-container" /> 
        @Html.DisplayNameFor(model => model.OwnerStatus)
    </label>
</div>
<div class="form-group d-none" id="owner-container">
    <label asp-for="OwnerName" class="control-label"></label>
    <input asp-for="OwnerName" class="form-control" />
</div>
$(function(){
    var toggleGroup = function(input){
        var target = $(input.getAttribute("data-target"));
        target.toggleClass("d-none", !input.checked);
    };
    
    // Toggle the group when the checkbox is clicked:
    $(document).on("click", "input:checkbox[data-toggle='collapse-group']", function(){ toggleGroup(this) });
    
    // Handle the initial state of the checkbox:
    $("input:checkbox[data-toggle='collapse-group']").each(function(){ toggleGroup(this); });
});
Демонстрация[^]


Member 14615938

очень хорошо