Изменить значение параметра выбора на основе щелчка элемента

#javascript #jquery #list #select

#javascript #jquery #Список #выберите

Вопрос:

Как я могу обновить значение внутри элемента, если я нажму на любой из элементов списка? Кроме того, есть какие-либо советы по оптимизации 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. «Обновить значение внутри элемента» — обновить какое значение?

Ответ №1:

используйте следующее:

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

Демонстрация: http://jsfiddle.net/ZyVTH/1/