2014-12-29 8 views
3

У меня есть эти формы.Скрыть форму при выборе значения из выпадающего списка

<div class="form-group"> 
    @Html.LabelFor(model => model.RoomsNumber, htmlAttributes: new { @class = "control-label col-md-2" }) 
    <div class="col-md-10"> 
    @Html.EditorFor(model => model.RoomsNumber, new { htmlAttributes = new { @class = "form-control" } }) 
    @Html.ValidationMessageFor(model => model.RoomsNumber, "", new { @class = "text-danger" }) 
    </div> 
</div> 

<div class="form-group"> 
    @Html.LabelFor(model => model.ProductCategoryId, "Type of home", htmlAttributes: new { @class = "control-label col-md-2"}) 
    <div class="col-md-10"> 
    @Html.DropDownList("ProductCategoryId", null, htmlAttributes: new { @class = "form-control" }) 
    @Html.ValidationMessageFor(model => model.ProductCategoryId, "", new { @class = "text-danger" }) 
    </div> 
</div> 

Я хочу, когда я выберу определенное значение из раскрывающегося списка, чтобы скрыть форму с помощью Номера номеров. Я не знаю, как это сделать.

+0

какой тип имеет model.RoomsNumber? Список ? И у вас есть пользовательский редактор для model.RoomsNumber? Если да - пожалуйста, разместите макет этого редактора – demo

+0

нет, это не список, это просто целое число –

ответ

1

Вы можете сделать это easyly с помощью JavaScript, вам нужно ID для ваших номера образуют и другой ID для категории продукта выпадающего списка, то вам нужно добавить прослушиватель событие услышать событие изменения ваших ниспадающий:

JS

var ddl = document.getElementById('ddlProductCategory'), 
    form = document.getElementById('roomsForm'); 

ddl.addEventListener('change', function(){ 
if (this.value === '5'){ 
    form.style.display = 'none'; 
} 
else { 
    form.style.display = 'block'; 
} 
}); 

HTML

<div class="form-group" id="roomsForm"> 
    @Html.LabelFor(model => model.RoomsNumber, htmlAttributes: new { @class = "control-label col-md-2" }) 
    <div class="col-md-10"> 
    @Html.EditorFor(model => model.RoomsNumber, new { htmlAttributes = new { @class = "form-control" } }) 
    @Html.ValidationMessageFor(model => model.RoomsNumber, "", new { @class = "text-danger" }) 
    </div> 
</div> 

<div class="form-group"> 
    @Html.LabelFor(model => model.ProductCategoryId, "Type of home", htmlAttributes: new { @class = "control-label col-md-2"}) 
    <div class="col-md-10"> 
    @Html.DropDownList("ProductCategoryId", null, htmlAttributes: new { @class = "form-control", id = 'ddlProductCategory" }) 
    @Html.ValidationMessageFor(model => model.ProductCategoryId, "", new { @class = "text-danger" }) 
    </div> 
</div> 
+0

ничего не происходит. –

+0

@DimitarGanichev Проверьте этот код (http://codepen.io/ianaya89/pen/LERapz). Если вы выберете элемент 5, скрывается форма. Я разобрал бритву в html, но в любом случае пример вам поможет. – ianaya89

+1

спасибо! Я начинаю работать! :) –

Смежные вопросы