2011-11-03 76 views
1

如果单击任何列表项目,如何更新元素内的值? 另外,关于优化js的任何提示?根据元素单击更改选择选项值

<select name="region" id="region"> 
    <option value=""></option> 
    <option value="a">a</option> 
    <option value="b">b</option> 
    <option value="c">c</option> 
</select> 

<ul id="states"> 
    <li class="a">a</li> 
    <li class="b">b</li> 
    <li class="c">c</li> 
</ul> 

<script> 
$('#region').change(function(){ 
    $('.stores').fadeOut(); 
    $('#' + $(this).val()).delay(300).fadeIn(); 
});  
$('#states > li').click(function(){ 
    $('.stores').fadeOut(); 
    $('#' + $(this).attr('class')).delay(300).fadeIn(); 
}); 
</script> 

<p id="a" class="stores">a</p> 
<p id="b" class="stores">b</p> 
<p id="c" class="stores">c</p> 
+0

'更新该元素中的值' - 更新其值? – glosrob

回答

2

使用以下:

$("#states > li").click(function() { 
    $("option").removeAttr("selected"); 
    var value = $(this).attr('class'); 
    $("option[value='"+value+"']").attr("selected","selected"); 
}); 

演示:http://jsfiddle.net/ZyVTH/1/