У меня есть форма с тремя элементами управления. Страница Te загружается с этими тремя элементами управления. одним из элементов управления является окно сбрасывания, которое заполняется пятью элементами. Каждый выбор имеет свой собственный контроль для отображения. Я спрятал все пять div и будет показан на основе выбранного значения.Как скрыть элементы управления и показать новый div на основе выбранного значения из выпадающего списка
- Форма будет загружаться с тремя управления
- Выберите значение из выпадающего
- скрыть поля и отображения формы/управления на основе выбранного значения
- При изменении выбранного значения, его необходимо скрыть ваш предыдущий выбор
- это должно относиться к любому выбранному значению в раскрывающемся
я написал Java-скрипт функцию номе t он не скрывает загруженные элементы управления и не показывает новую форму или div с элементами управления для этого выбора.
Вопрос: Как я могу скрыть и показать div на основе выбора из раскрывающегося списка?
Я попытался это Example
вот мой код ниже;
Java Script
<script type="text/javascript">
$(document).ready(function() {
$('#ddlControls').on('change', function() {
if (this.value == 'Users') {
$("#divUsers").show();
alert("Users");
}
else if (this.value == 'Orders') {
$("#divUsers").hide();
$("#divOrders").show();
alert("orders here");
}
else if (this.value == 'Contractors') {
$("#divOrders").hide();
$("#divContractors").show();
alert("Contractors here");
}
else if (this.value == 'Permanets') {
$("#divContractors").hide();
$("#divPermanets").show();
alert("Permanets here");
}
else if (this.value == 'Reports') {
$("#Permanets").hide();
$("#divReports").show();
alert("Reports here");
}
else {
$("#divReports").hide();
}
});
});
</script>
Просмотр страницы
<section>
<div class="row">
<fieldset class="fieldsetStyle">
<form role="form">
<div class="box-body">
<div class="col-md-5" id="divContainer">
<div class="form-group">
<label for="ddlControls">Report Category :</label>
<select class="form-control" id="ddlControls">
<option value="-1">--Select--</option>
<option id="Users" value="Users">All Users</option>
<option id="Orders" value="Orders">All Orders</option>
<option id="Contractors" value="Contractors">All Contractors</option>
<option id="Permanets" value="Permanets">All Permanets</option>
<option id="Reports" value="Reports">All Reports</option>
</select>
</div>
<div class="form-group">
<label for="txt1">Report Number</label>
<input type="text" class="form-control" id="txt1">
</div>
<div class="form-group">
<label for="txt2">Order Number:</label>
<input type="text" class="form-control" id="txt2">
</div>
<!--Here are all my hidded div that i want to show based on the selection of report catergory-->
<div class="hidden" id="divUsers">
<h2>I want to show this div for Users</h2>
<!--I will have more controls here-->
</div>
<div class="hidden" id="divOrders">
<h2>I want to show this for Orders</h2>
<!--I will have more controls here-->
</div>
<div class="hidden" id="divContractors">
<h2>I want to show this div for Contractors</h2>
<!--I will have more controls here-->
</div>
<div class="hidden" id="divPermanet">
<h2>I want to show this div for Permanet</h2>
<!--I will have more controls here-->
</div>
<div class="hidden" id="divReport">
<h2>I want to show this div for Report</h2>
<!--I will have more controls here-->
</div>
</div>
</div>
</form>
</fieldset>
</div>
Предположив вы действуете мчит на изменения, вы можете сделать JS намного короче. Добавьте класс «.hideable» в каждую форму, а затем перейдите в '$ ('. Hideable'). Hide(); $ ('# div' + this.value) .show(); ' – Devman
попробуйте этот https: // jsfiddle.net/eeoco56o/1/ – vikscool