gpt4 book ai didi

javascript - 将选定的选项存储为 javascript 变量

转载 作者:行者123 更新时间:2023-11-30 09:38:20 26 4
gpt4 key购买 nike

我正在尝试学习 onChange 函数。我抓取了这段代码并在我的网站上实现了它并且它正在运行,它实际上显示了用户选择的值但是当我尝试在 chrome 中控制台记录变量时它说:Uncaught ReferenceError: x is not defined。这是为什么?为什么即使在我选择了汽车之后也没有定义变量。还有一个问题。这是 javascript 还是 Jquery?

代码

<!DOCTYPE html>
<html>
<body>

<p>Select a new car from the list.</p>

<select id="mySelect" onchange="myFunction()">
<option value="Audi">Audi
<option value="BMW">BMW
<option value="Mercedes">Mercedes
<option value="Volvo">Volvo
</select>

<p>When you select a new car, a function is triggered which outputs the value of the selected car.</p>

<p id="demo"></p>

<script>
function myFunction() {
var x = document.getElementById("mySelect").value;
document.getElementById("demo").innerHTML = "You selected: " + x;
}
</script>

</body>
</html>

最佳答案

这是您帖子中的 JavaScript。

如果你这样做:

function myFunction() {
var x = document.getElementById("mySelect").value;
document.getElementById("demo").innerHTML = "You selected: " + x;
console.log("x:",x);
}

x 在函数范围内,因此可用。

在全局范围内定义这样的变量通常是一种不好的做法。

var x = {};
function myFunction() {
x = document.getElementById("mySelect").value;
document.getElementById("demo").innerHTML = "You selected: " + x;
}
myfunction();// call it
console.log("x:",x);

这个的详细版本:(基本上相同但在对象上显式 window)注意我添加了如何获取所选值。

window.x = {};

function myFunction() {
window.console.log("in here");
var selectElem = document.getElementById("mySelect");
var optsCount = selectElem.options.length;
var index = selectElem.selectedIndex;
window.console.log("opts", optsCount, index);
// return the value of the selected option
window.console.log(selectElem.options[selectElem.selectedIndex].value)
window.x = selectElem.options[selectElem.selectedIndex].value;
document.getElementById("demo").innerHTML = "You selected: " + x;
}
window.myFunction(); // call it
window.console.log("x:", window.x);

这是最后一个例子的 fiddle :https://jsfiddle.net/MarkSchultheiss/bqwd784p/

这里没有 jQuery,只有 JavaScript。

关于javascript - 将选定的选项存储为 javascript 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42424990/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com