2013-07-07 26 views
1

我的问题是,如何更改UL列表中的原始元素的值,选择/选择一个李项目下。更改无序列表的值时选择李项目

例如:我想选择City3,当我选择“Pick City”时,它应该是“city3”的值。

这是我的jsfiddle。 这是HTML:

<div class="menu1"> 
<li class="naslov"><b>Pick City</b></li> 
<div class="submenu1"> 
    <ul id="sel"> 
     <li value="1"><a href="#"><b>City1</b></a></li> 
     <li value="2"><a href="#"><b>City2</b></a></li> 
     <li value="3"><a href="#"><b>City3</b></a></li> 
     <li value="4"><a href="#"><b>City4</b></a></li> 
     <li value="5"><a href="#"><b>City5</b></a></li> 
    </ul> 
</div> 

也就是它可以不改变任何CSS/HTML(有我的意思是,我不想加选择,选择元素),并使其发挥作用只是在一些JQuery/JS功能?

感谢, 米洛斯

回答

1
$('#sel a').click(function(){ 
    $('li.naslov b').html(this.innerHTML); 

    return false; 
}); 

Live DEMO

+0

没错其工作。谢谢! – Michael

0

另一种可能的方式做到这一点。在这种情况下,li可以是动态的,基于AJAX feed或其他JavaScript。

$('#sel').on('click','li',function() { 
     $('li.naslov b').text($(this).text()); 
    }); 

jsFiddle

+0

1.演示不起作用。 2.使用'html' 3.不要将选择器添加到id选择器。 4.不要使用委托事件没有很好的理由。 – gdoron

0

试试这个作为你的JS ...

$(document).ready(function(){ 
    $('.menu1').hover(function(){ 
     $('.submenu1').stop(true).slideToggle('slow'); 
    }); 
    var orig = $(".naslov").html(); 
    $("#sel li").hover(function(){ 
     $(".naslov").html($(this).text()); 
    }, function(){ 
     $(".naslov").html(orig); 
    }); 
}); 
相关问题