如何在不重新加载页面的情况下使用javascript过滤html表?

JSTR

我已经使用普通的javascript编写了这些代码,并在W3schools中得到了它,它使用输入文本来过滤表数据。我添加了一个用于过滤表的“选择”下拉列表。我在这里找到了一些答案,但对我的代码不起作用。

我尝试使用Jquery,但无法正常工作。JQUERY CDN位于标头

 <head>
   <script 
   src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"> 
   </script>
  </head>

   <table class="table table-bordered" id = "tbl_main_content">
        <thead>
            <tr>
                <th>Title</th>
                <th style = "display: none;">Description</th>
                <th>Category</th>
                <th style = "display: none;">Status</th>
                <th width="400px">Action</th>
            </tr>
        </thead>
        <tbody>

        </tbody>
    </table>

 //my input
 <input type="text" class="form-control" id="txt_list_search" 
 placeholder="Enter keyword..."  onkeyup="myFunction()">

 //my select
<select class="form-control" id = "sort">
<option >Select Sort</option>
<option value = "HTML">Html</option>
<option value = "JAVASCRIPT">Javascript</option>
<option value = "CSS">Css</option>
<option value = "PHP">PHP</option>
<option value = "LARAVEL">Laravel</option>
<option value = "AJAX">Ajax</option>
</select>

 <script>
   function myFunction() 
    {
    var input, filter, table, tr, td, i, txtValue; 
    input = document.getElementById("txt_list_search");
    filter = input.value.toUpperCase();
    table = document.getElementById("tbl_main_content");   
    tr = table.getElementsByTagName("tr");  
    for (i = 0; i < tr.length; i++)
        {
            td = tr[i].getElementsByTagName("td")[0];
            if (td) 
                {
                    txtValue = td.textContent || td.innerText;
                    if (txtValue.toUpperCase().indexOf(filter) > -1)
                        {
                            tr[i].style.display = "";
                        } else {
                                 tr[i].style.display = "none";
                                }
                }       
        }
    }

   var options = $("#sort");
   $("#tbl_main_content tr:not(.header)").each(function() {
   options.append($("<option />").val($(this).find("td:first- 
   child").text()).text($(this).find("td:first-child").text()));
   });

   $("#txt_list_search").on('input', function() {
   myFunction($(this).val());
   });

   $("#sort").on('change', function() {
   myFunction($(this).val());
   });
   </script>

     // AJAX METHOD TO DISPLAY DATA FROM DB
     <script>
     getPageData();
     function getPageData() {
     $.ajax({
     dataType: 'json',
     url: url,
     data: {page:page}
     }).done(function(data){
     manageRow(data);
         });
     }

     function manageRow(data) {
     console.log(data)
     var    rows = '';
     $.each( data, function( key, value ) {
     rows = rows + '<tr>';
     if(value.status == 0){
     rows = rows + '<td style = "color: #FF0000">'+value.title+'</td>';
     } else{
     rows = rows + '<td style = "color: #000">'+value.title+'</td>';
     }
     rows = rows + '<td style = "display: none;">'+value.details+'</td>';
     rows = rows + '<td>'+value.category+'</td>';
     rows = rows + '<td style = "display: none;">'+value.status+' </td>';
     rows = rows + '<td data-id="'+value.id+'">';
     rows = rows + '<a href = my-posts-sub/'+value.id+'><button class="btn 
     btn-secondary manage-sub-item"><img src="/media/icon_manage.png" 
     width = "20">&nbsp&nbsp<i>Manage Sub</i></button> </a>';
     rows = rows + '<button data-toggle="modal" data-target="#edit-item" 
     class="btn btn-secondary edit-item"><img src="/media/icon_edit.png" 
     width = "20">&nbsp&nbsp<i>Edit</i></button> ';
     rows = rows + '<button class="btn btn-secondary remove-item"><img 
     src="/media/icon_delete.png" width = "20"></button>';
     //---------------------class------bootstrap--variable
     rows = rows + '</td>';
     rows = rows + '</tr>';
     });

     $("tbody").html(rows);

     }
      </script>
程序员

select的onchange事件是将select的值作为参数传递给myFunction,但是myFunction不接受任何参数。将myFunction更改为

 function myFunction(filter) 
    {  

    if (filter == undefined)
        filter = document.getElementById("txt_list_search").value.toUpperCase();

    var table = document.getElementById("tbl_main_content");   
    var tr = table.getElementsByTagName("tr");  
    for (var i = 0; i < tr.length; i++)
        {
            var td = tr[i].getElementsByTagName("td")[0];
            if (td) 
                {
                    var txtValue = td.textContent || td.innerText;
                    if (txtValue.toUpperCase().indexOf(filter) > -1)
                    {
                        tr[i].style.display = "";
                    } else {
                        tr[i].style.display = "none";
                    }
                }       
          }
    }

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在不重新加载页面的情况下检查表单中的确认密码字段

来自分类Dev

如何在不重新加载页面的情况下向我的网址添加参数?

来自分类Dev

如何在不重新加载页面的情况下更改标签的类属性和应用样式

来自分类Dev

在Ajax中成功后如何在不重新加载页面的情况下更改URL

来自分类Dev

如何在不重新加载页面的情况下刷新div和mysql代码

来自分类Dev

如何在不重新加载页面FLASK的情况下更新HTML图像

来自分类Dev

Django / Js:如何在不重新加载整个页面的情况下发布表单

来自分类Dev

如何在不重新加载页面的情况下更改标签的类属性和应用样式

来自分类Dev

如何在不重新加载页面的情况下使用AJAX将表单值发送到php?

来自分类Dev

如何在不重新加载页面的情况下使用php页面上的按钮执行功能?

来自分类Dev

如何在不重新加载页面的情况下从文本字段值执行查找并填充表单元素?

来自分类Dev

如何在不重新加载页面的情况下更改php include?

来自分类Dev

如何在不重新加载页面的情况下使用javascript将表单值发送到php

来自分类Dev

如何在不重新加载页面的情况下更改URL?-扭曲

来自分类Dev

如何在不重新加载页面的情况下在表单中创建html元素?

来自分类Dev

如何在不重新加载页面的情况下重置Rhinoslider Jquery插件?

来自分类Dev

如何在不重新加载页面的情况下使用laravel ajax发布和获取评论?

来自分类Dev

使用AngularJS如何在不重新加载页面的情况下显示手风琴中的新鲜数据

来自分类Dev

如何在不重新加载页面的情况下提交文件选择表单?

来自分类Dev

Rails如何在不重新加载页面的情况下将评论添加到微博集合中

来自分类Dev

如何在不重新加载页面的情况下刷新div和mysql代码

来自分类Dev

如何在不重新加载页面的情况下将textarea值转换为有意义的内容?

来自分类Dev

如何在不重新加载页面的情况下使用ajax发送数据?(节点)

来自分类Dev

如何在不重新加载页面的情况下以角度 2 设置或删除当前路线中的 queryParams

来自分类Dev

如何在不重新加载页面的情况下“刷新”Angular 中的组件?

来自分类Dev

如何在不重新加载 JSON 更新页面的情况下更新 div 的类和内容

来自分类Dev

如何在不重新加载页面的情况下运行包含操作参数的视图函数

来自分类Dev

如何在不重新加载页面的情况下使用经纬度坐标动态更改谷歌地图上的位置点

来自分类Dev

如何在不重新加载页面的情况下获得执行 PHP 函数的按钮?

Related 相关文章

  1. 1

    如何在不重新加载页面的情况下检查表单中的确认密码字段

  2. 2

    如何在不重新加载页面的情况下向我的网址添加参数?

  3. 3

    如何在不重新加载页面的情况下更改标签的类属性和应用样式

  4. 4

    在Ajax中成功后如何在不重新加载页面的情况下更改URL

  5. 5

    如何在不重新加载页面的情况下刷新div和mysql代码

  6. 6

    如何在不重新加载页面FLASK的情况下更新HTML图像

  7. 7

    Django / Js:如何在不重新加载整个页面的情况下发布表单

  8. 8

    如何在不重新加载页面的情况下更改标签的类属性和应用样式

  9. 9

    如何在不重新加载页面的情况下使用AJAX将表单值发送到php?

  10. 10

    如何在不重新加载页面的情况下使用php页面上的按钮执行功能?

  11. 11

    如何在不重新加载页面的情况下从文本字段值执行查找并填充表单元素?

  12. 12

    如何在不重新加载页面的情况下更改php include?

  13. 13

    如何在不重新加载页面的情况下使用javascript将表单值发送到php

  14. 14

    如何在不重新加载页面的情况下更改URL?-扭曲

  15. 15

    如何在不重新加载页面的情况下在表单中创建html元素?

  16. 16

    如何在不重新加载页面的情况下重置Rhinoslider Jquery插件?

  17. 17

    如何在不重新加载页面的情况下使用laravel ajax发布和获取评论?

  18. 18

    使用AngularJS如何在不重新加载页面的情况下显示手风琴中的新鲜数据

  19. 19

    如何在不重新加载页面的情况下提交文件选择表单?

  20. 20

    Rails如何在不重新加载页面的情况下将评论添加到微博集合中

  21. 21

    如何在不重新加载页面的情况下刷新div和mysql代码

  22. 22

    如何在不重新加载页面的情况下将textarea值转换为有意义的内容?

  23. 23

    如何在不重新加载页面的情况下使用ajax发送数据?(节点)

  24. 24

    如何在不重新加载页面的情况下以角度 2 设置或删除当前路线中的 queryParams

  25. 25

    如何在不重新加载页面的情况下“刷新”Angular 中的组件?

  26. 26

    如何在不重新加载 JSON 更新页面的情况下更新 div 的类和内容

  27. 27

    如何在不重新加载页面的情况下运行包含操作参数的视图函数

  28. 28

    如何在不重新加载页面的情况下使用经纬度坐标动态更改谷歌地图上的位置点

  29. 29

    如何在不重新加载页面的情况下获得执行 PHP 函数的按钮?

热门标签

归档