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

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日

悬赏问题

  • ¥20 测距传感器数据手册i2c
  • ¥15 RPA正常跑,cmd输入cookies跑不出来
  • ¥15 求帮我调试一下freefem代码
  • ¥15 matlab代码解决,怎么运行
  • ¥15 R语言Rstudio突然无法启动
  • ¥15 关于#matlab#的问题:提取2个图像的变量作为另外一个图像像元的移动量,计算新的位置创建新的图像并提取第二个图像的变量到新的图像
  • ¥15 改算法,照着压缩包里边,参考其他代码封装的格式 写到main函数里
  • ¥15 用windows做服务的同志有吗
  • ¥60 求一个简单的网页(标签-安全|关键词-上传)
  • ¥35 lstm时间序列共享单车预测,loss值优化,参数优化算法