gpt4 book ai didi

javascript - 将 javascript 中的全局变量传递给 jquery 上的实时事件不起作用

转载 作者:行者123 更新时间:2023-11-28 06:42:28 25 4
gpt4 key购买 nike

我在 JavaScript 中动态创建了几个元素。其中包括范围输入。我想在“输入更改”事件中显示该值。每个输入都有 id,如“概率”+数字。该数字是一个全局变量,并在单击按钮事件时递增。

当我动态创建这些输入时,输入更改事件不再起作用。 stackoverflow 上有一个问题,其中的解决方案是实时事件,而不是事件,并且它部分有效。代码是:

 $(document).on('change','#probabilitate'+nrBoli, function(){

//something
})
问题是,如果事件在“#probabilitate1”(例如)事件上触发,则变量 nrBoli 在函数内工作正常,但如果我想将其与 id 的名称作为参数连接(我的情况是触发每个元素),nrBoli 不可用。

最佳答案

您需要使用“class”而不是“id”来获取所有元素。使用 'id' 你只能得到 DOM 中的第一个元素:

附加元素:

var globalProp = 1;

$("#sameContainer").append('<input type="checkbox" id="inputId" class="probabilitate' + globalProp + '"/>');

设置更改事件:

只要添加新元素,就必须设置更改事件。

$('.probabilitate' + globalProp).change(function () {
//do action
})

示例:

var globalProp = 1;

function appendInput(){
$("#sameContainer").append('<input type="checkbox" id="inputId_a" value="check this" class="probabilitate' + globalProp + '"/>');
$("#sameContainer").append('<input type="checkbox" id="inputId_b" value="or this" class="probabilitate' + globalProp + '"/>');
$("#sameContainer").append('<input type="checkbox" id="inputId_c" value="or this" class="probabilitate' + globalProp + '"/>');

$('.probabilitate' + globalProp).change(function () {
//do action
})
};

希望这有帮助。

关于javascript - 将 javascript 中的全局变量传递给 jquery 上的实时事件不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33673411/

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