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

如何通过点击事件向input输入框添加文本?点击热门关键词填入搜索框问题

热门搜索点击填入功能代码修正方案

原代码存在的两处核心错误

  • 取点击的关键词内容逻辑错误:
    原代码使用$('#searchHot li').val()取值,存在两个问题:①val()是专为表单元素设计的取值方法,<li>是普通文本标签,无法通过val()获取内容;②$('#searchHot li')会选中所有热门词列表项,而非你当前点击的那一个,需要用$(this)指向当前触发点击事件的元素,再调用text()方法取文本内容。
  • 给搜索框赋值逻辑错误:
    原代码使用text(name)给搜索输入框赋值,<input>元素的展示内容存储在value属性中,text()方法只能修改普通标签的内部文本,无法修改输入框的值,需要调用val(name)方法完成赋值。

修正后的完整代码

JS代码

$(document).ready(function() {
  $('#searchHot li').click(function() {
    // 取当前点击的li的文本内容
    var name = $(this).text();
    // 给搜索输入框赋值
    $('#searchInput input').val(name);
  })
});

HTML代码(功能可正常运行,补充优化提示:ul下直接放span不符合HTML语义规范,建议将Popular提示移到ul标签外)

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="container">
  <div id="searchInput">
    <input type="search">
  </div>
  <ul id="searchHot">
    <span>Popular:</span>
    <li>AAA</li>
    <li>BBB</li>
    <li>CCC</li>
    <li>DDD</li>
  </ul>
</div>

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 06:15:04