Javascript OnChange 不会在第一次更改时触发

标签 javascript html

我有一个关于 select html 元素中的“onchange”事件的问题。我编写的代码应该显示某些文本框,具体取决于选择的选择选项。

我的代码如下:

Customer Type: 
<select name="customerType" onchange="cust_type()">
<option value="" selected>Customer Type?</option>
<option value="nonCorp">Customer</option>
<option value="corp">Corporate</option>
</select>

JS:

function cust_type() {  
   var select_drop = document.getElementsByName('customerType');
   var selected = select_drop[0].value;
   var f_name = document.getElementById('forename');
   var s_name = document.getElementById('surname');
   var c_name = document.getElementById('companyName');

   if(selected == "") {     
     f_name.style.visibility = 'hidden';
     s_name.style.visibility = 'hidden';
     c_name.style.visibility = 'hidden';            
     f_name.value = "";
     s_name.value = "";
     c_name.value = ""; 
   }    
   if(selected == "nonCorp") {      
         f_name.style.visibility = 'visible';
         s_name.style.visibility = 'visible';
     c_name.style.visibility = 'hidden';        
     c_name.value = ""; 
   }    
   if(selected == "corp") {     
     f_name.style.visibility = 'hidden';
     s_name.style.visibility = 'hidden';
     c_name.style.visibility = 'visible';       
     f_name.value = "";
     s_name.value = ""; 
   }
}

我遇到的问题是,当我第一次更改选择菜单中的选项时,onchange 没有效果。然而,在第二个、第三个等等上,它似乎工作得很好。

感谢您花时间阅读我的问题。

最佳答案

您是否尝试在 JavaScript 中添加事件?

var yourSelectElement = document.getElementById('test');
yourSelectElement.onchange = cust_type;

让我们看看:http://jsfiddle.net/YtuxP/

你会尝试这样做吗?

关于Javascript OnChange 不会在第一次更改时触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22939221/

相关文章:

javascript - 这里的细微错误是什么?

javascript - 在我的 includes/header.php 中引用 CSS 文件

javascript - thymeleaf 片段 - 用于确认对话框的 html 模式

html - 如何 : 100% Height Table only Scroll tbody

javascript - 提交按钮在包含带有 foreach 的表格的表单中不起作用

javascript - html div元素onclick被附加

html - 将位置设置为固定时,表格宽度超过 100%

javascript在 meteor 中生成重复的图像

html - 主体不会扩展以包含相对定位的元素

javascript - 粘性侧边栏 - 停在元素处?