Javascript根据所选选项隐藏值
Javascript hide values depending on a selected option
我需要一些javascript方面的帮助。这个想法是根据父隐藏一些值
这是html
<div class="form-group" style="margin-top: 20px;">
<label for="inputPassword3" class="col-sm-2 control-label">Phase</label>
<div class="col-sm-10">
<select class="form-control" name="phase" id="phase">
{%if phases is defined%}
{%for phase in phases%}
<option value="{{phase.id}}">{{phase.nom}}</option>
{%endfor%}
{%endif%}
</select>
</div>
</div>
<div class="form-group" >
<label for="inputPassword3" class="col-sm-2 control-label">Sous phase</label>
<div class="col-sm-10">
<select class="form-control" name="ssphase" id="ssphase">
{%if ssphases is defined%}
{%for ssphase in ssphases%}
<option value="{{ssphase.id}}" id="{{ssphase.phaseid}}">{{ssphase.nom}}</option>
{%endfor%}
{%endif%}
</select>
</div>
</div>
你有没有想过让javascript隐藏id与第一次选择时选择的选项值不匹配的选项?
谢谢你的帮助!
你可以这样做:
phase.onchange = function () {
show_sphases (this.value);
}
function show_sphases (phase) {
var subphases = document.querySelectorAll("[data-phase='" + phase + "']");
var allSubphases = document.querySelectorAll("#ssphase option");
for (var i = 0; i <= allSubphases.length; i++ ){
var item = allSubphases.item(i);
$(item).hide();
}
for (var i = 0; i <= subphases.length; i++ ){
var item = subphases.item(i);
$(item).show();
}
}
您还必须在ssphases选项中添加一个数据阶段属性,以便将它们链接在一起,如下所示:
<option value="11" id="11" data-phase="1">Subphase #1-1</option>
我对$().hide
和$().show
使用了jQuery。
这是一把小提琴。
相关文章:
- 将选项值附加到隐藏字段
- 使用jQuery选项卡来显示或隐藏其他内容
- jQuery无法在IE9中隐藏选项
- 使用Javascript根据URL中的关键字隐藏下拉选项
- 隐藏/显示下面的分区根据是否选择某个选项进行选择
- 更改所选选项更改时的页眉和隐藏文本字段
- 如何使用jQuery隐藏与选择选项相关的选择选项列表
- 隐藏结账按钮,直到选择发货选项
- 显示/隐藏下拉选项取决于另一个下拉选择
- 隐藏选择选项,并在单击定义的选项后显示它们
- CSS Html使图像显示在单选按钮的选项上(单选按钮被CSS隐藏)
- 表单域中的选项隐藏下一个域中的选项
- 如何使用 JavaScriptJQuery 将隐藏输入标签的值与选择标签的选定选项的值进行设置
- 根据选择语句选项隐藏 Div 类
- 选择选项隐藏和显示
- 谷歌图表选项隐藏y标签和注释
- Javascript根据所选选项隐藏值
- 根据下拉菜单中的选定选项隐藏表单
- JavaScript -根据选择的选项隐藏按钮
- 根据选择选项隐藏和显示选择选项