根据输入显示窗体
Show Form based on input?
根据从下拉菜单中选择的输入,很难显示某个表单。这是我当前的代码,它似乎不起作用。
HTML
<form id="form-shower">
<select id="myselect">
<option value="" selected="selected"></option>
<option value="form_name1">Form 1</option>
<option value="form_name2">Form 2</option>
<option value="form_name3">Form 3</option>
</select>
</form>
<form name="form_name1" id="form_name1" style="display:none">
<!---- THIS IS FORM 1---->
</form>
<form name="form_name2" id="form_name2" style="display:none">
<!---- THIS IS FORM 2---->
</form>
<form name="form_name3" id="form_name3" style="display:none">
<!---- THIS IS FORM 3---->
</form>
JS:
$("#myselect").on("change", function() {
$("#" + $(this).val()).show().siblings().hide();
})
我会用div包装表单,并用类和id处理:
<form id="form-shower">
<select id="myselect">
<option value="" selected="selected"></option>
<option value="form_name1">Form 1</option>
<option value="form_name2">Form 2</option>
<option value="form_name3">Form 3</option>
</select>
</form>
<div id="form_name1" class="forms">
<form name="form_name1" style="display:none">
<!---- THIS IS FORM 1---->
</form>
</div>
<div id="form_name2" class="forms">
<form name="form_name2" style="display:none">
<!---- THIS IS FORM 2---->
</form>
</div>
<div id="form_name3" class="forms">
<form name="form_name3" style="display:none">
<!---- THIS IS FORM 3---->
</form>
</div>
JS:
$("#myselect").on("change", function() {
var selected = $(this).val();
$(".forms").hide();
$("#" + selected).show();
})
这里有一个JavaScript演示:
- 使用
getElementById()
引用select元素 - 为
change
事件选择的addEventListener
- 当用户从select的选项中选择表单时,会调用
pickForm()
pickForm()
将:- 将所选选项的值存储在变量中。
var pick = this.options[this.selectedIndex].value
- 使用该值引用特定的隐藏窗体。
var form = document.getElementById(pick);
- 收集id中包含单词"formName"的所有表单。
var formAll = document.querySelectorAll('[id*="formName"]');
- 对它们进行迭代并移除类CCD_ 9并将CCD_。
for(var i=0; i < formAll.length; i++) { formAll[i].classList.remove('show'); formAll[i].classList.add('hide'); }
- 删除类
.hide
并将.show
添加到所选表单form.classList.remove('hide'); form.classList.add('show');
- 将所选选项的值存储在变量中。
这里有一个jQuery演示:
$('#ySelect').on('change', function(event) {
var pick = event.target.value;
var $pick = $('#'+pick);
$('[id*="formName"]').hide();
$pick.show();
});
摘录
//JavaScript
var sel = document.getElementById('xSelect');
sel.addEventListener('change', pickForm, false);
function pickForm(e) {
var pick = this.options[this.selectedIndex].value;
var form = document.getElementById(pick);
var formAll = document.querySelectorAll('[id*="formName"]');
for (var i = 0; i < formAll.length; i++) {
formAll[i].classList.remove('show');
formAll[i].classList.add('hide');
}
form.classList.remove('hide');
form.classList.add('show');
}
//jQuery
$('#ySelect').on('change', function(event) {
var pick = event.target.value;
var $pick = $('#' + pick);
$('[id*="formname"]').hide();
$pick.show();
});
.hide {
display: none;
}
.show {
display: block;
}
[id*="formName"] {
color: red;
}
[id*="formname"] {
color: blue;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form id="formSelect">
<label>JavaScript</label>
<select id="xSelect">
<option value="" selected="selected"></option>
<option value="formName1">Form 1</option>
<option value="formName2">Form 2</option>
<option value="formName3">Form 3</option>
</select>
<label>jQuery</label>
<select id="ySelect">
<option value="" selected="selected"></option>
<option value="formname1">Form 1</option>
<option value="formname2">Form 2</option>
<option value="formname3">Form 3</option>
</select>
</form>
<section id="js">
<form name="formName1" id="formName1" class="hide">
FORM 1
</form>
<form name="formName2" id="formName2" class="hide">
FORM 2
</form>
<form name="formName3" id="formName3" class="hide">
FORM 3
</form>
</section>
<section id="jq">
<form name="formname1" id="formname1" class="hide">
FORM 1
</form>
<form name="formName2" id="formname2" class="hide">
FORM 2
</form>
<form name="formname3" id="formname3" class="hide">
FORM 3
</form>
</section>
相关文章:
- 显示嵌套窗体
- 根据输入显示窗体
- 如果选择了特定的单选按钮,如何显示窗体
- 选择单选按钮时显示或隐藏窗体
- 如何隐藏和显示通过窗体填充的表
- Javascript-如何在窗体上方显示数组的值
- 弹出显示在窗体后面并冻结程序
- 在随机编号窗体上显示除零以外的内容
- Javascript显示窗体的隐藏变量
- 显示内部窗体元素
- 显示或隐藏窗体元素
- 如何在通过 AJAX 提交后显示模式窗体
- 同时在窗体中显示两个 JSON 值
- 在 ASP.NET Web 窗体中显示 HTML 控件的名称(输入类型为“提交”)
- 制作另一个窗体,该窗体将显示列表(自动完成)并将用作所选字段的值
- 当用户使用 ASP.NET 从 Web 窗体中的“下拉列表列表”中选择“其他”时,文本框的显示方式
- 在 sapui5 上显示“简单窗体”视图
- 如何在窗体/窗口加载时使用角度引导程序调用函数以显示第一个选项卡的动态内容
- 窗体显示显示在框中
- SharePoint 列表,以编辑窗体显示计算字段