javascript - Jquery命名函数不能作为回调
问题描述
也许这是一个愚蠢的问题,但我不明白为什么会发生
我有这个 jquery 代码:
$(document).ready(function(){
// Coloca datos JSON en sus respectivos campos
function setData(data){
$('#id').val(data.id);
$('#name').val(data.name);
$('#status').val(data.status);
$('#rating').val(data.rating);
$('#description_short').val(data.description_short);
$('#description_long').val(data.description_long);
image_url = (data.image_url) ? data.image_url + "?" + new Date().getTime() : 'https://via.placeholder.com/512';
$("#image").attr('src', image_url);
$('button[name=btn-delete]').prop('disabled', false);
};
$('button[name=btn-edit]').click(function(){
$('#modal-form').attr('action', "{{route('categories.index')}}/" + $(this).data('id'));
$.get("{{route('categories.index')}}/" + $(this).data('id') + "/edit")
.done(function (data){
setData(data);
});
});
它按预期工作,但如果我这样做:
$('button[name=btn-edit]').click(function(){
$('#modal-form').attr('action', "{{route('categories.index')}}/" + $(this).data('id'));
$.get("{{route('categories.index')}}/" + $(this).data('id') + "/edit")
.done(setData(data));
});
});
我的表格没有填写,我不明白为什么 setData() 不能作为回调
有人可以帮我理解其中的区别吗?
谢谢你的帮助!!
解决方案
您可以通过传递引用setData
而不是调用它来使其工作,例如:
$('button[name=btn-edit]').click(function(){
...
$.get("{{route('categories.index')}}/" + $(this).data('id') + "/edit")
.done(setData);
});
推荐阅读
- r - 如何将零和一而不是单词替换为具有定量和定性数据的数据框
- php - 在字符串中查找多个金额并用
- javascript - axios isURLSameOrigin 未定义
- iis - 除非我覆盖文件,否则浏览器不会提示登录
- django - AttributeError:“TestModelCreateView”对象没有属性“对象”
- python - 异常后并发期货不继续
- datatables - 添加样式后的页眉对齐数据表='100%'
- amazon-web-services - 如何通过 AWS CDK 设置 DataDog 警报?
- c++ - Json nlohmann:返回一个包含多个键的值的通用函数
- python - Tkinter Frame-如何在添加标签时解决 Resulation 问题