Показать сообщение отдельно
  #1 (permalink)  
Старый 08.01.2013, 22:23
Новичок на форуме
Отправить личное сообщение для print_r Посмотреть профиль Найти все сообщения от print_r
 
Регистрация: 08.01.2013
Сообщений: 1

Как заставить меняться стиль option одного селекта в зависимости от выбора option..
Как заставить меняться стиль option одного селекта в зависимости от выбора option другого селекта.
<form class="variants" action="/cart"><div>
<select name="dop_variant">
<option dv_id="54">Оригинальный</option>
<option dv_id="49">Китайский</option>
</select></div>
<select name="variant"   form="variants">
<option value="104" compare_price="222" price="111" class="option_var" v_dv_id="49">Красный</option>
<option value="105" compare_price="333" price="222" class="option_var" v_dv_id="54">Синий</option>
<option value="111" compare_price="666" price="555" class="option_var" v_dv_id="49">Зеленый</option>
</select>
<div class="clear"></div>
Акция! <strike>222</strike>
</br>
<span>111</span><i>руб</i>	
<div class="clear"></div>
<input type="submit" class="button" value="в корзину" data-result-text="добавлено"/>
</form>

<script>

 $(function() {

	// Выбор вариантов цены
	$('select[name=variant]').change(function() {
		price = $(this).find('option:selected').attr('price');
		compare_price = '';
		if(typeof $(this).find('option:selected').attr('compare_price') == 'string')
			compare_price = $(this).find('option:selected').attr('compare_price');
		$(this).find('option:selected').attr('compare_price');
		$(this).closest('form').find('span').html(price);
		$(this).closest('form').find('strike').html(compare_price);
		return false;
	});
    //Работа с option
    $('select[name=dop_variant]').change(function(){
        dv_id = $(this).find('option:selected').attr('dv_id');
        $(this).closest('form').find('.option_var').each(function(){
        if(this.attr('v_dv_id') != dv_id){
            this.style.display = "none";
        }});
        return false;
    });
 });
</script>

Надо, чтоб при выборе "Китайсий" "Синий" приобретал display:none; и наоборот.
Ответить с цитированием