使用Javascript显示和隐藏几个字段
Show and hide several fields using Javascript
我正在尝试隐藏和显示几个选择和文本字段
这个想法是,在第一个字段中,当选择"Banco"时,它会显示一个下拉列表,供用户选择哪家银行,直到这一部分一切都很好,当在下一个"Banco"下拉列表中,人们选择"otros"时,问题就来了,它应该显示一个文本字段,供客户写下银行名称,但我已经做了所有的事情,似乎无法让它在上工作
你能帮我吗??
这是JS
function formapago() {
if (document.getElementById('infopago').value == 'banco') {
document.getElementById('banco').style.display = '';
document.getElementById('tipopago').style.display='';
}
else {
document.getElementById('banco').style.display = 'none';
document.getElementById('tipopago').style.display='none';
}
if (document.getElementById('infopago').value == 'mp') {
document.getElementById('mpcobro').style.display = '';
} else {
document.getElementById('mpcobro').style.display = 'none';
}
if (document.getElementById('banco').value == 'otros') {
document.getElementById('otrosban').style.display = '';
}
else {
document.getElementById('otrosban').style.display = 'none';
}
}
和HTLM
<select name="infopago" id="infopago" onchange='formapago()'>
<option value="elegir" selected="selected">Elegir</option>
<option value="banco">Banco</option>
<option value="mp">Mercado Pago</option>
</select>
</p>
<div id="banco" style="display: none">
<p><strong>BANCO: </strong></p>
<p>
<label for="banco">Banco Emisor</label>
<select name="banco" id="banco" onchange='formapago()'>
<option value="elegir" selected="selected">Elegir</option>
<option value="provincial">Provincial</option>
<option value="mercantil">Mercantil</option>
<option value="banesco">Banesco</option>
<option value="venezuela">Venezuela</option>
<option value="otros">Otro</option>
</select>
</p> </div>
<div id="otroban" style="display: none">
<p>
<label for="otroban">Otro Banco</label>
<input type="text" name="otroban" id="otroban"/>
</p>
</div>
您的问题是有两个ID相同的元素。
本部分:
<div id="banco" style="display: none">
<p><strong>BANCO: </strong></p>
<p>
<label for="banco">Banco Emisor</label>
<select name="banco" id="banco" onchange='formapago()'>
<option value="elegir" selected="selected">Elegir</option>
<option value="provincial">Provincial</option>
<option value="mercantil">Mercantil</option>
<option value="banesco">Banesco</option>
<option value="venezuela">Venezuela</option>
<option value="otros">Otro</option>
</select>
</p>
</div>
div和select元素的id="banco"。尝试更改选择id。
编辑
当我看到你的HTML:时,我发现了一些问题
- 具有相同id的多个元素
- 在您的javascript中,它试图获取tipopago和mpcobro元素,元素在哪里
- 我认为这部分:
document.getElementById('otrosban').style.display = '';
应为:
document.getElementById('otroban').style.display = '';
相关文章:
- jQuery Wan Spinner插件的多个字段
- Angular ng repeat order将多个字段作为一个字段
- Dynamics CRM 2016:自动完成多个字段
- 更新嵌套对象的多个字段
- 使用单个文本框向多个字段添加严格搜索
- 当出现多个字段时,jquery时间条目问题
- 使用数组表示法对多个字段执行jQuery日期选择器
- 如何使用2个字段名称作为筛选器
- 如何使用jquery将两个字段组合为下拉菜单中的选项
- 如何防止某些形式's个字段无法提交
- Angularjs 通过选择不同选择框中的两个字段来填充选择框
- 如何在一个表单标记中验证多个字段集
- 使用Join,要求两个字段中的一个字段为非空
- 在原始对象的基础上创建新对象的最简单方法,但没有几个字段
- jQuery在几个字段中倒计时
- 在mongoose express中选择几个字段作为数组
- Rivets.js属性依赖于几个字段
- Rails:如何编写一个测试,以确保几个字段在关闭时隐藏,但在打开时显示,并且具有正确的值
- 猫鼬自定义验证几个字段在更新
- 使用Javascript显示和隐藏几个字段