jqueryulli菜单问题

jqueryulli菜单问题,jquery,menu,html-lists,Jquery,Menu,Html Lists,我正在创建动态下拉菜单,如: <dl id="sample-1" class="dropdown"> <dt id="1"><a href="#" id="1"><span>Please select the country</span></a></dt> <dd> <ul> <li><anchortag>Br

我正在创建动态下拉菜单,如:

<dl id="sample-1" class="dropdown">
    <dt id="1"><a href="#" id="1"><span>Please select the country</span></a></dt>
    <dd>
        <ul>
            <li><anchortag>Brazil fdsf sdf kjdsh  hkjh jkh hdf sdh kjh sdfh  kjh k hkjh 2121 fgfd21g 21 21g dfg1 f21gfd2<span class="value">BR</span></ahchor></li>
            <li><anchortag>France<span class="value">FR</span></ahchor></li>
            <li><anchortag>Germany<span class="value">DE</span></ahchor></li>
            <li><anchortag>India<span class="value">IN</span></ahchor></li>
            <li><anchortag>Japan<span class="value">JP</span></ahchor></li>
            <li><anchortag>Serbia<span class="value">CS</span></ahchor></li>
            <li><anchortag>United Kingdom<span class="value">UK</span></ahchor></li>
            <li><anchortag>United States<span class="value">US</span></ahchor></li>
        </ul>
    </dd>
</dl>
<span id="result-1"></span>

  • 巴西fdsf sdf kjdsh hkjh jkh hdf sdh kjh sdfh kjh k hkjh 2121 fgfd21g 21 21 G dfg1 f21gfd2BR
  • 弗朗西弗
  • 德国
  • 印度
  • 日本
  • 塞尔维亚人
  • 联合王国
  • 美国
使用javascript代码:

< script > $('dl[id^="sample-"] dt a').click(function(e) {
    e.preventDefault();
    //$('dl[id^="sample-"] dd ul').toggle();                      $(this).closest('dt').siblings('dd').find('ul').toggle();
});

$('dl[id^="sample-"]').each(function() {
    var mainOjbect = this;
    //$(this.closest('dt').find('a')).live('click', function(e) {                                          
    $("dl[id^='sample-'] dd ul li a").live('click', function(e) {
        var text = $(this).html();
        alert(text);
        alert(mainOjbect.id + "id is....");
        $('#' + mainOjbect.id + " dt a span").html(text);
        //$(this).closest('dt').find('a').find('span').html(text);
        //$("dl[id^='sample-'] dd ul").hide();              
        $('#' + mainObject + "ul").hide();
        $(this).find('dl[id^="result-"]').html("Selected value is: " + getSelectedValue(this));
    });
});

function getSelectedValue(id) {
    alert(id);
    return $("#" + id).find("dt a span.value").html();
}

$(document).bind('click', function(e) {
    alert('hello3');
    var $clicked = $(e.target);
    if (!$clicked.parents().hasClass("dropdown"))
    //$("dl[id^='sample-'] dd ul").hide();
    $(this).closest('dt').siblings('dd').find('ul').hide();
}); < /script>

这些所有菜单都是使用javascript克隆函数动态创建的,下一个将是

<dl id="sample-2" class="dropdown">
...
...
...
<dl id="sample-n" class="dropdown">

...
...
...
但是当我点击一个菜单时,我不明白另一个菜单上的选择正在进行,我想在它们的位置运行所有这些菜单。我花了足够的时间,但不明白哪里有错误的代码。 需要帮助如何遍历所有这些


谢谢

这里有一个下拉列表示例,允许您选择。不确定它是否正是您想要的。希望它能让您开始


Bob

正如我解释的那样,点击后你可以遍历所有菜单项,你可以做如下操作

 $('.dropdown').live('click',function(){


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

    var $idOfli=$(this).attr('id');
    .
    .
    .
    }

    });

你能重新格式化你的代码吗?