Javascript 是否使用下拉列表中的值更新脚本变量?

Javascript 是否使用下拉列表中的值更新脚本变量?,javascript,Javascript,我有一个脚本,基本上是这样的,我需要帮助: <script> var languageFrom = " from "; var languageTo = " to "; </script> 如果我有这样一个下拉菜单: <select> <option value="en">En</option> <option value="fr">Fr</option> </select> 选择其中一个下拉菜单

我有一个脚本,基本上是这样的,我需要帮助:

<script>
var languageFrom = " from ";
var languageTo = " to ";
</script>
如果我有这样一个下拉菜单:

<select>
<option value="en">En</option>
<option value="fr">Fr</option>
</select>
选择其中一个下拉菜单时,它将使用选项值中的文本填充from变量。你如何做到这一点?有关于此的教程吗?

您可以将更改事件处理程序绑定到select元素:


请注意,这假设select元素上的id为yourSelect,并且还假设languageFrom在事件处理程序函数的作用域内,可能是全局的。

这适用于一个变量,但如果有2个变量,如我的代码中那样,会怎么样?一个下拉菜单将控制第一个变量,第二个下拉菜单将控制第二个变量。只需将一个更改事件处理程序绑定到另一个select元素,正如我的回答所示。是的,就是这样,但是别忘了声明languageFrom和languageTo变量,这是你在问题中做的,但不是在小提琴中。这就是我遗漏的!然后我如何用在“更改”函数中更改的内容填充变量?我不太确定您的意思。在您的小提琴中,如果您在事件处理程序函数之外声明变量,它们将在函数内部的作用域中,并且它们的值将被更改。为什么LanguageFrom被设置为等于languageTo?
selectNode.addEventListener("change", function(evt) {
        languageFrom=languageTo;
        languageTo = evt.target.value;
    },false);
selectNode.addEventListener("change", function(evt) {
        languageFrom=languageTo;
        languageTo = evt.target.value;
    },false);