gpt4 book ai didi

jQuery On Click 不起作用

转载 作者:行者123 更新时间:2023-12-03 22:05:51 25 4
gpt4 key购买 nike

我在触发事件处理程序时遇到问题。我将 JSON 调用到页面中,如下所示。然后,我希望能够单击我创建的按钮之一,该按钮将执行“你好”警报。它适用于页面上的所有其他元素,但不适用于 <button> .

有人可以帮忙吗?

test.js

$(document).ready(function() {
$.getJSON('/api/v1/recipe/?format=json', function(data) {
$.each(data.objects, function(i, recipe) {
$('table#recipes').append('<tr><td>' + recipe.title + '</td><td>' + recipe.ingredients + '</td><td>' + recipe.method + '</td><td><button class="btn" type="button" id="rmv">remove</button></td></tr>');
});
});

$('rmv').on('click', function() {
alert('hello there!');
});
});

食谱.html

{% extends 'base.html' %}

{% block content %}
<div class="container-fluid">
<div class="row-fluid">
<div class="span6">
<form action='' method="post">{% csrf_token %}
{{ form.as_p }}
<input type="submit" value="go baby!">
</form>
</div>
<div class="span6">
<table class="table table-striped table-bordered" id="recipes">
<tr>
<th>Title</th>
<th>Ingredients</th>
<th>Method</th>
<th>Remove</th>
</tr>
</table>
</div>
</div>
</div>
{% block recipes %}{% endblock recipes %}
{% endblock content %}

最佳答案

你的选择器错了,它应该是

$('#rmv')

如果您要动态附加元素,您应该像

一样使用它
$(document).on('click','#rmv',function(e) {
//handler code here
});

ajax 成功回调中的循环可能会产生具有重复 id 的元素,这是错误的,因此正如@Alnitak 提到的,您可以像修改 cde 后一样切换到类选择器

$.getJSON('/api/v1/recipe/?format=json', function(data) {
$.each(data.objects, function(i, recipe) {
$('table#recipes').append('<tr><td>' + recipe.title + '</td><td>' + recipe.ingredients + '</td><td>' + recipe.method + '</td><td><button class="btn rmv" type="button" >remove</button></td></tr>');
});
});

选择器看起来像

$(document).on('click','.rmv',function(e) {
//handler code here
});

关于jQuery On Click 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16022744/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com