猿问

使用select过滤表数据的问题

我有 html 表,它有很多数据。然后我创建了一个选择选项来过滤表格并显示过滤后的数据。select位于route只有 3 个的列中option:Marikina、Montalban和Motalban/Marikina。

我过滤的时候可以显示数据,但问题是我选择的时候Marikina或者Montalban它也显示第三个选项,也就是Montalban/Marikina. 这是使用 select 过滤表的 jquery 代码:


$(document).ready(function () {


        $('.filter').change(function () {

                var values = [];


                 $('.filter').each(function () {

                        var colIdx = $(this).data('col');


                         $(this).find('option:selected').each(function () {

                                 if ($(this).val() != "") values.push( {

                                        text: $(this).text(),

                                        colId : colIdx

                                 });

                        });

                });

                filter('table > tbody > tr', values);

        });


        function filter(selector, values) {console.log(values);

                $(selector).each(function () {

                        var sel = $(this);

                        var tokens = sel.text().trim().split('\n');

                        var toknesObj = [], i;

                        for(i=0;i<tokens.length;i++){

                                toknesObj[i] = {

                                     text:tokens[i].trim(), 

                                     found:false

                                };

                        }


                        var show = false;

                        //console.log(toknesObj);

                        $.each(values, function (i, val) {                


                     if (toknesObj[val.colId].text.search(new RegExp("\\b"+val.text+"\\b")) >= 0) {

                             toknesObj[val.colId].found = true;

                            }


                        });          

 

 

我希望如果我只选择Marikina它只会显示Marikina不带Montalban/Marikina. 先感谢您


扬帆大鱼
浏览 113回答 2
2回答
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答