星空2020 2023-02-08 20:03 采纳率: 64.1%
浏览 28
已结题

layui table查询完成后,如何保留input的值并选中它?

我的layui table有如下的toolbar,如何在实现搜索后,保留搜索框的值,并且是鼠标选中的状态?
目前我点击搜索后,无论是日期选择框,还是后面的input框,都被置空了。当然,查询功能无异常。


```javascript
<!--table head toolbar-->
  <script type="text/html" id="toolbarDemo">

<div class="layui-inline">
      <div class="layui-input-inline">
        <input type="text" class="layui-input" name="startdate" id="startdate" placeholder="开始时间">
      </div>
      ~
      <div class="layui-input-inline">
        <input type="text" class="layui-input" name="enddate" id="enddate" placeholder="结束时间">
      </div>
      
      <div class="layui-input-inline">
        <input type="text" class="layui-input" name="keyword" id="searchReload" placeholder="请输入姓名!" style="width:300px;">
      </div>
      <button type="button" class="layui-btn layui-btn-normal" id="searchBtn" lay-filter="search" lay-event="search">查询</button>

<button type="button" class="layui-btn layui-btn-warm layui-icon" lay-event="add1"><i class="layui-icon"></i>新建</button>
</script>



![img](https://img-mid.csdnimg.cn/release/static/image/mid/ask/360431958576144.png "#left")
  • 写回答

2条回答 默认 最新

  • 踢足球的阿坤 2023-02-08 20:42
    关注
    toolbar: '#toolbarDemo'
    <script type="text/html" id="toolbarDemo">
      <div class="layui-form">
        <div class="layui-inline">
            <input class="layui-input" name="date" id="demoReload" autocomplete="off">
        </div>
        <div class="layui-inline">
            <input type="text" name="goods_name" placeholder="商品名称" autocomplete="off" class="layui-input">
        </div>
        <button class="layui-btn" data-type="reload" lay-filter="serach">搜索</button>
    </script>
    

    你可以尝试使用下面的方法:

    在搜索按钮添加点击事件,用于阻止默认行为;
    获取要搜索的内容,添加参数到表格上,比如: table.reload('list', { where: { date: $('input[name=date]').val(), goods_name: $('input[name=goods_name]').val() } });
    重新加载表格,搜索完成。
    在搜索完成后,使用jQuery重新填充input的值,使用 .val() 方法,让搜索框保持选中状态。
    完整的实现代码如下

    $('#demoReload').on('click',function (e){
        // 阻止默认行为
        e.preventDefault();
        
        // 重新加载表格
        table.reload('list', {
            where: {
                date: $('input[name=date]').val(),
                goods_name: $('input[name=goods_name]').val()
            }
        });
        
        // 填充值
        $('input[name=date]').val($('input[name=date]').val());
        $('input[name=goods_name]').val($('input[name=goods_name]').val());
    });
    
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 2月23日
  • 已采纳回答 2月15日
  • 修改了问题 2月8日
  • 创建了问题 2月8日

悬赏问题

  • ¥15 乌班图ip地址配置及远程SSH
  • ¥15 怎么让点阵屏显示静态爱心,用keiluVision5写出让点阵屏显示静态爱心的代码,越快越好
  • ¥15 PSPICE制作一个加法器
  • ¥15 javaweb项目无法正常跳转
  • ¥15 VMBox虚拟机无法访问
  • ¥15 skd显示找不到头文件
  • ¥15 机器视觉中图片中长度与真实长度的关系
  • ¥15 fastreport table 怎么只让每页的最下面和最顶部有横线
  • ¥15 java 的protected权限 ,问题在注释里
  • ¥15 这个是哪里有问题啊?