gpt4 book ai didi

javascript - 在另一个事件上使用 JavaScript onchange 事件中捕获的数据?

转载 作者:行者123 更新时间:2023-11-28 19:14:13 40 4
gpt4 key购买 nike

我需要在事件 2 上使用在事件 1 中捕获的firmType。如何实现这一目标?

代码

事件 1

  $("body").on("change","#so_customer", function(v){
customerFirm = $(this).find(":selected").data("employer");
$("#customer_employer").val(customerFirm);
$("#historyLink").show();
$("#historyLink").attr("href",GSVTOOL.AJAX.BASE +

$container = $("#hp_deposit_id");
$container.select2('val', '');

firmType = $(this).find('option:selected').data("firmtype");

});

事件2

   $("body").on("change", "#installment_id", function(){
$container = $("#hp_deposit_id");
$container.select2('val', '');
instId = $(this).val();
alert(firmType);
url = 'erp/sales-orders/ajax-initial-deposit';
data = 'firmType='+firmType+'&instId='+instId;
loadDepositPlan($container, url, data);
});

请帮我解决这个问题。

最佳答案

最快的解决方案是在两个事件处理函数的范围之外定义事务所类型变量,如下所示:

var firmType;

$("body").on("change","#so_customer", function(v){
// [Code to find firmType]

firmType = $(this).find('option:selected').data("firmtype");

});

$("body").on("change", "#installment_id", function(){
alert(firmType) // Will display value as set in handler 1
});

正如 Moolie 所说,var 关键字将变量的作用域锁定为当前作用域以及其中的任何作用域。因此,通过在两个处理程序外部定义它,并在第一个处理程序内对 firmType 的引用中省略 var,该变量的值将在第一个处理程序中“全局”更新,因此第二个可用。

关于javascript - 在另一个事件上使用 JavaScript onchange 事件中捕获的数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30192315/

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