Jquery HTML5数据属性不调用URL
我使用以下代码动态创建了一个按钮:Jquery HTML5数据属性不调用URL,jquery,html,custom-data-attribute,Jquery,Html,Custom Data Attribute,我使用以下代码动态创建了一个按钮: var del = $('<button/>') .addClass('btn btn-danger') .attr('data-type', 'DELETE') .attr('data-url', file.deleteUrl) .text('DELETE'); var del=$(“”) .addClass(“btn btn危险”) .attr('数据类型','删除') .att
var del = $('<button/>')
.addClass('btn btn-danger')
.attr('data-type', 'DELETE')
.attr('data-url', file.deleteUrl)
.text('DELETE');
var del=$(“”)
.addClass(“btn btn危险”)
.attr('数据类型','删除')
.attr('data-url',file.deleteUrl)
.文本(“删除”);
file.deleteUrl如下所示:http://somedomain/?file=1411934997-jpeg
,它将要删除的数据传递给处理脚本
这(上面)为按钮提供了一个数据url属性,当单击按钮时,我希望向该url发送一个删除调用
然而,它目前不起作用,我不知道为什么
在我的控制台中,该按钮看起来正常,但当我单击该按钮时,呼叫未被触发
我是一个有数据属性的noob,需要一些帮助
谢谢仅仅添加数据属性是不够的。您需要附加一个.on('click')事件,该事件应该对脚本进行ajax调用。脚本应返回显示其是否成功的数据 一旦从URL调用的脚本中获得成功/失败结果,您应该决定如何处理该元素,是要删除它还是向用户显示错误消息 其他信息:
如果要动态生成这些按钮,则需要将单击事件附加到所创建的每个新按钮上。您必须对按钮单击执行Ajax调用:
del.click(function() {
$.ajax({
url: $(this).attr("data-url"),
type: $(this).attr("data-type")
});
});
您还可以为任何<代码>btn danger按钮设置此代码:
$(document).on("click", ".btn-danger", function () {
$.ajax({
url: $(this).attr("data-url"),
type: $(this).attr("data-type")
}).done(function () {
$(this).closest("tr").remove(); // to remove the complet row after delete success
});
});
其优点是可用于任何动态未来
btn danger
按钮(事件单击气泡进入文档)。1st-del
是保留字。第二-你如何删除它?代码在哪里?单击onclick
事件在哪里?一切都在哪里?“不工作”是什么意思?应该怎么办?你能在按钮上绑定事件处理程序的地方添加代码吗?@IsmaelMigueldelete
是一个保留字,而不是del
。废话,你说得对。抱歉:/但第2部分仍然适用。最后一行不正确,委派事件(.on()
)即使在动态添加的元素上也有效。100%正确,希望将其添加到我的注释中。在最坏的情况下,将其连接到身体应该总是有效的。嗨,尼古拉斯-太棒了-谢谢-现在绑定好了-还有一件事-一旦我通过了删除调用并返回了一些东西,我如何删除特定的。btn危险?你想在删除后删除按钮吗?实际上按钮在表行中,我想删除整行(因为图像已被删除,我不再需要可用的缩略图),我已经在我的答案中添加了.done(function(){$(this).closest(“tr”).remove();})
。请接受答案并投赞成票。一个问题Nicolas-表行未被删除-不确定原因-服务器的响应是一个json对象,格式为:{“1411939719-8696.jpeg”:true}-我只想在表为true时删除它