You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用jQuery克隆搜索框后AJAX请求不生效该如何解决

问题根因

  • HTML ID全局唯一:你克隆输入框后仍然设置id="search",导致页面存在重复ID,选择器逻辑异常
  • 事件仅绑定到静态元素:初始的$("#search").keyup()只会给页面加载时已存在的第一个搜索框绑定事件,后续动态生成的克隆元素不会自动绑定该事件
  • 选择器书写错误:AJAX成功回调里的$(".#output")多了多余的类选择符.,正确ID选择器应为$("#output")

修复方案

采用事件委托实现动态元素的事件绑定,同时修正克隆逻辑和选择器错误,不需要每次新增元素后单独绑定事件,代码如下:

function add(){
    // 克隆首个搜索框,清空输入值,移除ID避免重复,追加到容器
    $(".search:first").clone().val("").removeAttr("id").appendTo(".cont");
}   

// 事件绑定到固定存在的父容器.cont,匹配所有.search类的输入框,动态新增的元素也会生效
$(".cont").on("keyup", ".search", function(){
    $.ajax({
        type:'POST',
        url:'search.php',
        data:{
          name: $(this).val()
        },
        success:function(data){
           $("#output").html(data);
        }
    });
});

内容的提问来源于stack exchange,提问作者Vinx

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 02:24:03