ajax - 为啥 onclick 不适用于复选框
Posted
技术标签:
【中文标题】ajax - 为啥 onclick 不适用于复选框【英文标题】: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
【参考方案1】:
我解决了。
只需添加点击事件
complete: function()
var chck = document.getElementsByName('ligand_feature')
for (var l=0; l<chck.length; l++)
chck[l].click();
【讨论】:
以上是关于ajax - 为啥 onclick 不适用于复选框的主要内容,如果未能解决你的问题,请参考以下文章