2013-07-04 52 views
0

我有一点简单的Javascript。从选择菜单中删除嵌套的选项 - jQuery

当它变成选择菜单时,是否可以删除该菜单的任何嵌套部分?

所以在下面的演示中,' - test'部分不会出现在选择菜单中。

DEMO:http://jsfiddle.net/ZBZRw/

jQuery的是:

$(function() { 

      var options = '<option selected>Go to...</option>'; 
      $('nav div.alt').find('a').each(function() { 
       var text = $(this).text(), 
       purl = $(this).attr("href"), 
        depth = $(this).parent().parents('ul').length, 
        depthChar = '', 
        i = 1; 
       for (i; i < depth; i++) { depthChar += '&ndash;&nbsp;'; } 
       options += '<option value="' + purl + '">' + depthChar + text + '</option>'; 
      }); 
      $('<select />').append(options).appendTo('nav div.alt'); 

      $("nav select").change(function() { 
       window.location = $(this).find("option:selected").val(); 
      }); 

     }); 

任何意见非常感谢。

+1

同样的理论,从我的答案需要应用! http://stackoverflow.com/questions/17470177/remove-list-items-from-select-menu-with-jquery – rorypicko

+0

好主意。由于一些奇怪的原因,它不适用于我当前的应用程序,所以认为我会更具体地处理我的问题:) – michaelmcgurk

回答

2

在你前面的问题更准确的使用子选择>是在<a>元素,您选择

$('nav div.alt > ul > li > a').each(function() { 

http://jsfiddle.net/ZBZRw/1/