javascript - jquery 从 select 标签中获取值并在点击函数中使用它

标签 javascript jquery

我有一个下拉选择,我需要从中获取值并将其放入 glassCode 变量中。我可以获得该值并将其显示在更改事件内的警告框中。但是,当我尝试在更改事件之外使用它时,我什么也没得到。

<form id="form1" name="form1" method="post">
    <select id="glassProduct">
        <option value="GI032">GI032 CLEAR FLOAT 3.2MM</option>
        <option value="GI040">GI040 CLEAR FLOAT</option>
    </select>
    <input type="button" name="calculate" id="calculate" value="Calculate">
    <input type="reset" value="Clear" />
</form>

Jquery:

$("#glassProduct").change(function(){
    var glassCode=$(this).val();
    alert(glassCode);//this gives me the code
});//end of on change glassProduct

$("#calculate").click(function(){
    console.log("glass code: " +glassCode);//this gives me the same all the time
});

最佳答案

我想你应该了解 JavaScript 的作用域和作用域链

Understanding Scope and Context in JavaScript

你的代码的问题是 change 中的 glassCodeclick 中的不在同一个范围内,尽管它们有同名。

所以Jquery应该是

var glassCode; // share the same scope in two function
$("#glassProduct").change(function(){
    glassCode=$(this).val();
    alert(glassCode);
});

$("#calculate").click(function(){
    console.log("glass code: " +glassCode);
});

关于javascript - jquery 从 select 标签中获取值并在点击函数中使用它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33225980/

相关文章:

jquery - 如何通过 Id 从 <ul> 中删除 <li>?

javascript - 有没有办法从 cucmber 中的场景范围注入(inject) cucumber 步骤变量

javascript - AngularJS表单验证: show error message for checkbox after click on submit

javascript - 您可以在 Kendo MVVM View 中编写纯 JavaScript 表达式(与 Knockout 一样)吗?

javascript - 如何通过单击 Angular Js 中的按钮来更改正文背景图像?

javascript - 如何在Google图像搜索API v2中获取图像URL

javascript - 获取 javascript 函数对象的参数计数(甚至名称)

javascript - 选择下拉列表时如何禁用文本字段

javascript - 如何刷新 IFrame 中的链接?

javascript - 将 JavaScript Date 对象转换为 JSON 字符串时,日期更改为前一天