【问题标题】:Using multiple values in a filter function jquery data attribute example在过滤函数 jquery 数据属性示例中使用多个值
【发布时间】:2015-12-24 20:43:01
【问题描述】:

我正在研究 jquery 过滤器对数据属性的使用,在这种情况下,表包含三个数据变量,即团队、专业和级别。请让我知道最好的方法是什么以及典型的使用方法是什么。 这是我的代码html:

<table data-team="<?php print $name['team']; ?>" data-specialization="<?php print $name['speciality']; ?>" data-level="<?php print $name['level']; ?>" cellpadding="0" cellspacing="0" border="0" width="670px" class="jobs"><tr><td>
            <tr><td colspan="4"><strong><?php print $name['title'] ?></strong></td>
            <td></td><td></td><td></td></tr>
            <tr>
            <td width="100">Location : </td>
            <td colspan="3"><?php print ($name['location']);?> </td>
            <td></td>
            <td></td>
            <td></td>
            </tr>
            <tr>
            <td> Job Code : </td>
            <td width="460"><?php print $name['id'] ?></td>
            <td></td>
            <td></td> 
            <td><a data-action="showDesc,jumpTo" href="javascript:;" id="<?php print($name['id']);?>" class="more">More Details </a></td>
            </tr></td></tr>
        </table>

我从另一个 Stack Overflow 问题中获得的 javascript,它基于一个匹配属性进行显示,这是我的代码:

$("#search").click(function() {
            var team=$('#selectOne').val();
            var specialty=$('#selectTwo').val();
            var level=$('#selectThree').val();
            var teams=[];// 
            var special=[];
            var level=[];
            //teams=$('.jobs').data('team');
            //alert(teams);

                    $(".jobs").hide();
                        $('.jobs').filter(function(){
                                    return $(this).data('team') === team;
                                }).show();
                            });
   });

我想将所有数据团队属性放入数组中,对其进行迭代,然后检查每个表是否包含它,在这种情况下到下一个数组进行检查等等。如果数据值匹配,则显示。

【问题讨论】:

  • 原来我的错误是我将级别变量重新分配给了一个数组,从而清空了它,它现在工作得很好。谢谢

标签: javascript jquery filtering


【解决方案1】:

原来我的错误只是我重新声明了变量 team[]。所以基本上,这个:

$('.jobs')  .hide().filter('[data-team="'+team+'"][data-specialization="'+specialty+'"][data-level="'+level+'"]').addClass('num').show();

现在工作正常。

【讨论】:

    猜你喜欢
    • 2021-09-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多