各位 stackoverflow 用户大家好, 我一次又一次地尝试从函数外部访问变量。 所以我知道一个变量通常不能从函数外部访问,但是首先在函数外部声明它或返回变量应该可以让我访问,但我无法获取它。 这是我的代码:
<select class='select-style' onchange="selectModel(this)">
<option></option>
<?php
$select_cassetta_name = "select * from cassetta order by cassetta_name ASC";
$run_cassetta = mysqli_query($con, $select_cassetta_name);
while($row=mysqli_fetch_array($run_cassetta)){
$cassetta_id = $row['cassetta_id'];
$cassetta_name = $row['cassetta_name'];
$cassetta_price = $row['cassetta_price'];
echo "<option value='$cassetta_price'>$cassetta_name</option>";
}
?>
</select>
<div>
<p id="box"></p>
</div>
<div>
Sides SUM = <span id="sides_sum"></span> <br>
Value x Sides = <span id="final_price"></span>
</div>
<script>
var x;
var y;
var z;
var sum;
function getSides() {
var x = parseFloat(document.getElementById("side1").value);
var y = parseFloat(document.getElementById("side2").value);
var sum = document.getElementById("sides_sum").innerHTML = x + y;
}
function selectModel(selectObject) {
var z = parseFloat(selectObject.value);
var cassetta = document.getElementById("box").innerHTML = "You selected value: " + z;
document.getElementById("final_price").innerHTML = z * sum;
}
</script>
最佳答案
不要使用 var 在函数内声明 x、y 和 sum。通过使用 var 声明它,您将覆盖全局变量并创建局部变量。所以你无法在其他函数中访问它的值
function getSides() {
x = parseFloat(document.getElementById("side1").value);
y = parseFloat(document.getElementById("side2").value);
sum = document.getElementById("sides_sum").innerHTML = x + y;
}
关于javascript - 从函数外部访问值 : js and php generated value,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50433751/