【问题标题】:Change select option value base on element click根据元素单击更改选择选项值
【发布时间】:2011-12-21 02:48:56
【问题描述】:

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

【问题讨论】:

  • '更新元素内的值' - 更新哪个值?

标签: javascript jquery list select


【解决方案1】:

使用以下内容:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-02-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多