【问题标题】:ajax - Why onclick doesn't work with checkboxesajax - 为什么 onclick 不适用于复选框
【发布时间】:2022-01-24 03:40:59
【问题描述】:

我目前正在使用 ajax 通信创建表格和复选框。

创建后确认checkbox功能正常, 即使我在创建它时包含检查,onclick 功能也不会触发。

success:function(data){
    for (var key in data) {
        feature = data[key]
        head = feature[0].split(" ")
        tail = feature[1].split(" ")
        type = feature[2]
        name = feature[3]
        $('#pharmacophore_table').append("<tr>" + 
            "<td>" + name + "</td>" +
            "<td> <label><input type='checkbox' name='ligand_feature' onclick='show_ligand_feature(this, " + '"' + feature + '"' + ");' ></label>" + 
            "</tr>");

        $("input[name='ligand_feature']").attr( "checked", true);
    }      
},
error:function(data){
    alert(data.status)
}

我该如何解决这个问题?

【问题讨论】:

  • 这些引文在我看来不正确。输入是否在 DOM 中正确呈现,所以 onclick 看起来就在那里?
  • 创建后 onclick 功能正常。问题是onclick函数在创建并使用ajax函数检查时不起作用。
  • 您是否期望设置checked时会调用onclick函数?
  • 是的,我想在创建复选框的同时启用所有复选框。
  • 好的,但仍然不清楚什么不起作用以及为什么。你能创建一个重现问题的演示吗?见minimal reproducible example

标签: javascript ajax checkbox


【解决方案1】:

我解决了。

只需添加点击事件

complete: function(){
    var chck = document.getElementsByName('ligand_feature')
    for (var l=0; l<chck.length; l++){
        chck[l].click();
    }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-09-08
    • 2013-11-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-22
    • 1970-01-01
    相关资源
    最近更新 更多