【问题标题】:jQuery friend selector. With jquery filterjQuery 好友选择器。使用 jquery 过滤器
【发布时间】:2011-12-14 03:06:07
【问题描述】:

我做了一个 jquery 好友过滤器。 我有一个很大的 ul 列表,里面有很多朋友的名字。

我有一个搜索框,当您在此框中搜索时,您会看到一个实时结果页面。

当您点击一个朋友时,li 项目会获得一个活动类,该类会在其上覆盖一个绿色图标。

在这里你可以看到它:JSFiddle

但现在我的问题。

在搜索栏旁边我有一个名为“现在选择”的链接。 当您单击此链接时,我只想显示具有活动类的 li 项目 - 带有绿色图标。

我是一个初学者。

【问题讨论】:

  • 很抱歉,我在理解上有些困难。当您单击“现在选择”时应该发生什么?从页面上下文中,我猜您要选择(绿色勾号,与单击它们相同)当前与搜索匹配的所有人员。对吗?
  • 列表中有很多人。当您单击一个 li 项目时。比 li 项目被选中。 li 项目激活了一个类。但这有点坏,而且效果不好。这是第一个问题。当您单击 li 项目时。 li 项目必须获得一个活动类。当您单击“现在选择”时。必须显示所有具有活动类的 li 项目。没有活动类的 li 项目必须隐藏。你明白吗?
  • 我更正了你的英文,如果这是你想要的,请告诉我。

标签: javascript jquery search filter


【解决方案1】:

这就是迈克想要的

$("#nowSel").click(function() {
    $("li:not(.active)").hide();
});

http://jsfiddle.net/mplungjan/n69Rm/

可能需要测试

$("#nowSel").click(function() {
  var selected = $("li .active");
  if (selected.length>0) {
    $("li:not(.active)").hide();
  }
  else {
   // tell user to select something
  }
});

【讨论】:

  • 是吗?我的印象是 + $("li.active").show() 以便它还显示当前隐藏但活跃的朋友。
【解决方案2】:

这里是:http://jsfiddle.net/CBbH3/2/

可能需要稍微重构一下,但总之你需要为此使用:visible过滤器:

$('#now-select').click(function() {
        $(".friend-selection li:visible")
            .addClass("active")
            .append('<span class="check"></div>')
            .find(".check").fadeIn(150);

        return false;
    });

【讨论】:

  • 这不是我想要的。对不起,我的英语不好。我尽可能清楚地尝试。
  • 我没有得到它所以,当我点击“现在选择”时。比活动类的 li 项目必须显示。应该显示在哪里?
【解决方案3】:

你可以改变这一行

<a href="#" title="Now Select" >Now Select<a>

<a href="#" title="Now Select" id ="nowselect">Now Select<a>

然后定义这个。

$("#nowselect").click(){

    var active =$.("li.active");
    //write your logic with active live
}

【讨论】:

  • $("nowselect") 应该是 $("#nowselect")。它应该是 .click(function () { ... });
猜你喜欢
  • 2011-03-28
  • 1970-01-01
  • 2011-10-27
  • 2016-02-11
  • 1970-01-01
  • 1970-01-01
  • 2015-08-26
  • 2017-07-06
  • 1970-01-01
相关资源
最近更新 更多