如何使用jQuery或JavaScript在动态添加的HTML元素中自动触发onclick函数

如何使用jQuery或JavaScript在动态添加的HTML元素中自动触发onclick函数,javascript,jquery,html,Javascript,Jquery,Html,我正在做一个附加文件项目,当只有一个文件要附加时,我需要自动检查文件名。很容易将其作为复选框自动选中,但选中后,会调用onclick函数来更新服务器端的文件 由于标记是根据所需附加文件的数量动态添加的,.trigger('click')对其无效 $.each(speedLetterArray, function (key, value) { var idLine = fileId + '_b' + value.reasonCode; var idContainer = 'sliC

我正在做一个附加文件项目,当只有一个文件要附加时,我需要自动检查文件名。很容易将其作为复选框自动选中,但选中后,会调用onclick函数来更新服务器端的文件

由于
标记是根据所需附加文件的数量动态添加的,
.trigger('click')
对其无效

$.each(speedLetterArray, function (key, value) {
    var idLine = fileId + '_b' + value.reasonCode;
    var idContainer = 'sliC_f' + idLine;
    var idItem = 'sli_f' + idLine;
    output.push('<div style="' + cssDisplay + '" class="sliContainer" id="' + idContainer + '">');
    //auto checked if only one item
    if (fileCount == speedLetterArray.length) {
        value.isSelected = 'true';
    }
    if (value.isSelected == 'true') {
        output.push('<input id="' + idItem + '"  onclick="updateSpeedLetterItemLists(this);" type="checkbox" name="' + idItem + '" value="' + value.reasonCode + '" class="testClass" style="margin:0px;" />');
    } else {
        //some code here
    }
}
$。每个(speedLetterArray,函数(键,值){
var idLine=fileId+'_b'+value.reasonCode;
var idContainer='sliC_f'+idLine;
变量idItem='sli_f'+idLine;
输出推送(“”);
//如果只有一项,则自动选中
if(fileCount==speedLetterArray.length){
value.isSelected='true';
}
如果(value.isSelected==“true”){
输出推送(“”);
}否则{
//这里有一些代码
}
}
我使用
checked=checked
自动检查文件,但无法触发onclick函数
updateSpeedLetterItemList(this)
来更新服务器端的文件。 当我手动单击它时,它可以正常工作

我尝试了
$(.sliContainer).find('input:checkbox:first').trigger('click');
标记之后或在
$(文档)中。ready
,两者都有效

我想也许我没有找到正确的对象,因为当我使用
警报($(.sliContainer).find('input:checkbox:first').val())
时,我得到了“undefined”值。

你可以这样做

$('yourelemtid').click()
或者因为它是动态添加的

$( "yourelemtid" ).live( "click", function() {

});
由于元素是在初始javascript初始化之后添加的,因此它不会看到要添加钩子的新元素


如果不推荐使用live,请使用以下选项:

$(document).on( "click", "#yourelemtid", function() {
    ...
});

$(“文档”)。在(“单击”,“yourelementid”,function(){})上;
谢谢你的回答,但我只需要自动触发ONCLICK而不手动单击元素,live或on仅用于将单击事件绑定到html元素,谢谢,它与第一个答案相同,我需要的是自动触发ONCLICK函数而不手动单击。