gpt4 book ai didi

javascript - 在 JQuery 中定义全局变量

转载 作者:数据小太阳 更新时间:2023-10-29 04:08:50 27 4
gpt4 key购买 nike

我不确定我的解释是否正确,但就是这样......

我有一个在 JQuery 中工作的函数,用于将选定的下拉值分配给一个变量,然后在单击确认按钮时将该变量传递给 HTML 的不同部分。

这是 HTML 的精简版

<p id="t1"></p> 
<select id="selectLevel">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
<option value="7">7</option>
<option value="8">8</option>
<option value="9">9</option>
<option value="10">10</option>
<option value="11">11</option>
<option value="12">12</option>
<option value="13">13</option>
<option value="14">14</option>
<option value="15">15</option>
<option value="16">16</option>
<option value="17">17</option>
<option value="18">18</option>
<option value="19">19</option>
<option value="20">20</option>
</select>
<span class="btn" id="confirmLevel">Confirm</span>

这是我使用的 JQuery。

$(document).ready(function() {
$('#confirmLevel').click(function() {
var PClevel = $("#selectLevel option:selected").text();
$('#t1').append('Level ' + PClevel);
});
});

问题是,如果我稍后尝试为其他函数调用 PCLevel 变量,则什么也不会发生。我在这里错过了什么?或者完全跳过 JQuery 而只使用 Javascript 来做同样的事情会更好吗?

最佳答案

问题是 PClevel 的范围在点击处理程序内。外部无法访问。为了让外部代码看到 PClevel,在外部声明它并让点击处理程序修改它。

$(document).ready(function() {
var PClevel; // Code inside the ready handler can see it.

$('#confirmLevel').click(function() {
PClevel = $("#selectLevel option:selected").text();
$('#t1').append('Level ' + PClevel);
});
});

// or

var PClevel; // Now it's a global. Everyone can see it.
$(document).ready(function() {
$('#confirmLevel').click(function() {
PClevel = $("#selectLevel option:selected").text();
$('#t1').append('Level ' + PClevel);
});
});

关于javascript - 在 JQuery 中定义全局变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37128205/

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