gpt4 book ai didi

jquery - 如何告诉 jQuery 关于附加表单行

转载 作者:行者123 更新时间:2023-12-01 01:19:50 26 4
gpt4 key购买 nike

我有一个表单,可以通过 ajax 添加一行项目。但是添加此行后,新输入无法获得焦点。

在尝试解决这个问题时,我发现如果在绑定(bind)功能期间触发警报,它们确实会获得焦点。

我四处寻找答案,但就是无法让它发挥作用。我认为“实时”功能可能相关,但我真的不知道如何使用它。

这是我的代码。

$("#doogal").bind("click", function (event) {
$.ajax({data:$("#doogal").closest("form").serialize(), dataType:"html", success:function (data, textStatus) {$("#saleitems").append(data);}, type:"get", url:"\/saleitems\/add\/" + $rows});
$rows = $rows + 1;
// alert("uncomment this to enable focus");
$("#autoComplete_1").focus();
return false;

});

最佳答案

这听起来像是一个时间问题。 $.ajax 是异步调用。当您注释掉警报时,对 .focus() 的调用将在 ajax 调用完成之前以及调用 success 函数并添加新输入之前发生。当您添加警报时,会延迟 .focus() 调用足够长的时间,以便 ajax 调用完成。

将 .focus() (可能还有 $row 增量)调用放在 success 函数中,以便它仅在 ajax 调用完成后运行:

$("#doogal").bind("click", function (event) {
$.ajax({data:$("#doogal").closest("form").serialize(), dataType:"html", success:function (data, textStatus) {
$("#saleitems").append(data);
$rows = $rows + 1;
$("#autoComplete_1").focus();
}, type:"get", url:"\/saleitems\/add\/" + $rows});
return false;
});

关于jquery - 如何告诉 jQuery 关于附加表单行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4236248/

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