javascript - 根据其他组合框中选定的选项更改下拉选项

标签 javascript html drop-down-menu

我有 2 个下拉列表,如果我从第一个下拉列表中选择特定选项,则一组选项应出现在另一个下拉列表中,如果我从第一个下拉列表中选择其他选项,则不同的选项集应出现在第二个下拉列表中下来。

我尝试制作 fiddle ,但不起作用。

function createOption(value) {
    el = document.createElement('option');
    el.value = value;
    el.innerHTML = value;
    el.id = value;

    document.getElementById('select').appendChild(el);
}

if(document.getElementById('Type').value === "CD"){
    document.getElementById('select').innerHTML = '';

    createOption('Volvo');
    createOption('Saab');
    createOption('Fiat');
};
else{
      document.getElementById('select').innerHTML = '';
        createOption('Wood');
        createOption('Brick')
}

http://jsfiddle.net/33tJR/10/

请帮忙:)

最佳答案

您的代码的主要问题是您没有任何事件监听器来监听第一个下拉列表中将发生的实际“onchange”事件。

当前代码的简单解决方案如下:

function createOption(value) {
    el = document.createElement('option');
    el.value = value;
    el.innerHTML = value;
    el.id = value;

    document.getElementById('select').appendChild(el);
}
document.getElementById('Type').addEventListener("change", function(){
  if(document.getElementById('Type').value === "CD"){
      document.getElementById('select').innerHTML = '';

      createOption('Volvo');
      createOption('Saab');
      createOption('Fiat');
  }
  else{
      document.getElementById('select').innerHTML = '';
      createOption('Wood');
      createOption('Brick')
  }
});

关于javascript - 根据其他组合框中选定的选项更改下拉选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26183843/

相关文章:

javascript - 如何检查挖空渲染时间?

javascript - 如何在使用 Html.BeginForm 时显示警报(验证消息)?

jquery - 如何在点击下拉菜单时制作 CSS 下拉菜单

javascript - 以与浏览器相同的方式加载所有 html 依赖文件 : js, css

html - 手机网站URL的Swift HTML内容

javascript - 下拉可能不一样 MYSQL PHP

PHP jQuery mySQL 填充 DROPDOWN 字段错误

php - 如何使用 HTML 表将数据库从一个页面获取值发布到另一个页面

javascript - 有没有办法从 css 文件中执行 javascript?

javascript - req.session.passport 为空 : req. 用户未定义