当用户回答问题 A(下拉列表)和问题 A1(复选框列表)时,我需要他们输入的信息自动出现在问题 B(下拉列表)和问题 B1(复选框列表)下
我正在尝试使用 javascript 函数来执行此操作。
目前为止
var e = document.getElementById("questionA");
var AnswerA = e.options[e.selectedIndex].text;
我知道这会将 questionA 中的选择分配给变量 AnswerA,但我不知道如何将其分配给 questionB 下拉列表。我也不知道如何从复选框列表中获取选择(可以是多个选择)来填充第二个复选框列表。
如有任何帮助,我们将不胜感激。
最佳答案
您需要绑定(bind)到下拉列表 A 中的 onchange 方法。这样,每当它发生变化时(即,如果选择了某些内容),您就可以获取该选择的值并将其弹出到下拉列表 B 中,方法如下:
var option = document.createElement('option');
option.value = AnswerA;
option.innerHTML = AnswerA;
document.getElementById('questionB').appendChild(option);
对于新的 javascript 开发人员来说,事件委托(delegate)通常有点令人困惑,因为它需要针对每个浏览器进行略微不同的处理。我建议使用谷歌搜索 cross browser event delegation
或暂时使用某种 JavaScript 库,这将使您更快地启动和运行。然后,当您的项目完成后,查看跨浏览器事件委托(delegate)的工作原理。
关于javascript - 如何从变量分配下拉列表的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6046229/