Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将javascript中的全局变量传递给jquery上的live事件无效_Javascript_Jquery_Jquery Trigger - Fatal编程技术网

将javascript中的全局变量传递给jquery上的live事件无效

将javascript中的全局变量传递给jquery上的live事件无效,javascript,jquery,jquery-trigger,Javascript,Jquery,Jquery Trigger,我已经在javascript中动态创建了几个元素。除其他外,这些是范围输入。我想在“输入更改”事件中显示值。 这些输入中的每一个都有id,如“Probabilate”+数字。该数字是一个全局变量,在单击按钮时递增 当我动态创建这些输入时,输入更改事件不再工作。在stackoverflow上有一个问题,解决方案是live event,而不是on event,并且部分有效。代码是: $(document).on('change','#probabilitate'+nrBoli,function()

我已经在javascript中动态创建了几个元素。除其他外,这些是范围输入。我想在“输入更改”事件中显示值。 这些输入中的每一个都有id,如“Probabilate”+数字。该数字是一个全局变量,在单击按钮时递增

当我动态创建这些输入时,输入更改事件不再工作。在stackoverflow上有一个问题,解决方案是live event,而不是on event,并且部分有效。代码是:

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

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

附加元素:

var globalProp = 1;

$("#sameContainer").append('<input type="checkbox" id="inputId" class="probabilitate' + globalProp + '"/>');
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
    })
};
示例:

var globalProp = 1;

$("#sameContainer").append('<input type="checkbox" id="inputId" class="probabilitate' + globalProp + '"/>');
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
    })
};
var globalProp=1;
函数appendInput(){
$(“#sameContainer”)。附加(“”);
$(“#sameContainer”)。附加(“”);
$(“#sameContainer”)。附加(“”);
$('.probabilate'+globalProp).change(函数(){
//行动
})
};

希望这有帮助。

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

附加元素:

var globalProp = 1;

$("#sameContainer").append('<input type="checkbox" id="inputId" class="probabilitate' + globalProp + '"/>');
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
    })
};
示例:

var globalProp = 1;

$("#sameContainer").append('<input type="checkbox" id="inputId" class="probabilitate' + globalProp + '"/>');
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
    })
};
var globalProp=1;
函数appendInput(){
$(“#sameContainer”)。附加(“”);
$(“#sameContainer”)。附加(“”);
$(“#sameContainer”)。附加(“”);
$('.probabilate'+globalProp).change(函数(){
//行动
})
};

希望这有帮助。

您能创建一个plunkr来重现问题吗?您能创建一个plunkr来重现问题吗?