根据元素单击更改选择选项值

时间:2011-11-03 11:51:16

标签: javascript jquery list select

如果点击任何列表项,如何更新元素中的值? 另外,有关优化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>

1 个答案:

答案 0 :(得分:2)

使用以下内容:

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

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