【问题标题】:List like select dropdown with jQuery?像使用jQuery选择下拉列表一样?
【发布时间】:2010-12-29 05:05:01
【问题描述】:

我想模拟下拉选择,但只有链接,没有表格。 问题是如何在您当前所在的位置选择和可见的类别或子类别链接?

<ul><li>Category
   <ul>
     <li>Subcategory1</li>
     <li>Subcategory2</li>
   </ul>
</li></ul>

因此,当您在类别中时,可见将是类别的名称,这很容易,因为它是第一个 LI,但是当您在子类别中时,子类别的名称将被“选中”并且可见。

如果您有其他解决方案,请列出,建议我。

对不起我的英语我不知道如何更好地解释:)

【问题讨论】:

  • 欢迎来到 StackOverflow!第一个问题很好。

标签: jquery css select


【解决方案1】:

【讨论】:

    【解决方案2】:

    每次单击后,您需要通过遍历列表项并检查当前位置来设置适当 li 的类:

    <div id="div1">
        <ul>
        <li>Category
            <ul>
                <li><a href="abc">Subcategory1</a></li>
                <li><a href="xyz">Subcategory2</a></li>
            </ul>
        </li>
        </ul>
    </div>
    

    然后你的javascript:

    var loc = window.location;
    $("#div1 li").each( function(){
        var a = $("a", this).attr("href");
        if(a == loc){
            $(this).addClass("hilight");
        } else {
            $(this).removeClass("hilight");
        }
    });
    

    【讨论】:

      【解决方案3】:

      如果我理解正确,我觉得你只需要几个 div 元素。一个显示当前选定的项目,另一个显示整个菜单(减去当前元素?)。

      如果是这种情况,您可以为每个菜单项附加一个单击事件,以更新顶部 div 的文本:

      <div id="current_page">Default Value</div>
      <div id="current_menu">
        <ul>
          <li><a href="page1.html">Page 1</a></li>
          <li><a href="page2.html">Page 2</a></li>
        </ul>
      </div>
      

      然后你将使用 jQuery 来添加一些效果和逻辑:

      $("#current_page").click(function(){
        $("#current_menu").slideToggle();
      });
      
      $("#current_menu a").click(function(event){
        event.preventDefault(); //prevent synchronous loading
        $("#current_page").html($(this).text());
      });
      

      【讨论】:

        【解决方案4】:

        我想你正在寻找Suckerfish Dropdowns

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2022-11-12
          • 1970-01-01
          • 2013-01-12
          • 2019-02-26
          • 1970-01-01
          • 2014-08-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多