Java脚本显示隐藏字段
Java Script Display Hidden Field
我在HTML中有一个带有一些选项的select,我要做的是对每个不同的所选选项进行"取消隐藏"或显示另一组选项。希望这是有道理的。所以我有一个下拉选项,比如1
,2
,如果用户选择选项,即1
,我想显示另一个下拉菜单。
问题是,选择后,第二个下拉菜单根本不显示。
HTML:
<select id="workshop" name="workshop" onclick="return test();">
<option value="">Please select a Workshop</option>
<option value="f">1</option>
<option value="b">2</option>
</select>
<select id="date" name="date" style="display: none">
<option value="">Please select a date</option>
<option value="01/01/01">01/01/01 at 6.30pm</option>
</select>
JavaScript:
function test(){
if(document.getElementById('workshop').value == 'f'){
document.getElementById('date').style.display = 'block';
}
else{
document.getElementById('date').style.display = '';
}
}
首先使用onchange
事件,而不是使用onclick
。因为onchange
事件发生在元素的值发生更改时(根据您的要求)。
尝试使用此代码:
function test(){
if(document.getElementById('workshop').value == 'f'){
document.getElementById('date').style.display = 'block';
}
else{
document.getElementById('date').style.display = 'none';
}
}
在Js FIddle 中试用
function test(){
if(document.getElementById('workshop').value == 'Forex'){
document.getElementById('date').style.display = 'inline-block';//try this
}else{
document.getElementById('date').style.display = 'none';
}
不要使用onclick
事件。使用onchange
:
<select id="workshop" name="workshop" onchange="return test();">
<option value="">Please select a Workshop</option>
<option value="f">1</option>
<option value="b">2</option>
</select>
<select id="date" name="date" style="display: none">
<option value="">Please select a date</option>
<option value="01/01/01">01/01/01 at 6.30pm</option>
</select>
Onclick与按钮配合使用效果很好,但任何类型的输入对更改的反应都更好。我敢打赌,当你第二次点击第一个选择时,它就会出现。
PS:当检查onkeyup
或onkeydown
时,文本输入和文本区域工作得更好。
http://www.w3schools.com/jsref/event_onchange.asp
使用更改
HTML
<select id="leave" onchange="test()">
<option value="">Please select a Workshop</option>
<option value="f">1</option>
<option value="b">2</option>
</select>
JavaScript
function test()
{
if(document.getElementById('workshop').value == 'f')
{
document.getElementById('date').style.display = 'block';
}
else
{
document.getElementById('date').style.display = '';
}
}
OKkkkk大家好,我发现了这个问题,发生的是我有我的HTML&JS文件都是从不同的目录打开的:D所以我对JS文件所做的更改并没有影响我在浏览器中看到的HTML文件。真的很抱歉我的错误,伙计们,上1
相关文章:
- JavaScript 检查隐藏字段中的值并将其设置为隐藏字段值
- 带有验证和隐藏字段值的提交按钮
- 主干窗体隐藏字段未呈现
- 清除以前的$_GET值或不获取仅隐藏字段的值
- 添加和删除隐藏字段数组中的值,而不提交表单
- 在控制器上使用“$watch”时,为什么不更新此隐藏字段
- 将选项值附加到隐藏字段
- JQuery获取隐藏字段的值
- HTML提交表单,同时包含空字段检查和按钮隐藏
- MVC+访问控制器中的隐藏字段
- 如何隐藏&使用jQuery禁用依赖于另一个字段值的字段
- ASP.net Javascript函数中的隐藏字段为null
- 在第一页加载时隐藏字段,而不是在php发布之后
- 使用JavaScript获取隐藏的Django字段
- 提交表单时,显示或识别隐藏的必填字段并将其集中
- 表单使用js、html,而不是隐藏字段
- HTML5要求隐藏文件字段-反馈位置
- 当javascript中的强制字段隐藏在条件中时,如何限制它们的验证
- 为隐藏字段隐藏jquery验证器消息
- 如何使一些字段隐藏取决于其他字段的值AngularJS, Razor, c#