Как заставить меняться стиль 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; и наоборот.