2015-03-04 2 views
0
  1. У меня есть три выбора опций с тем же классом = «фильм»
  2. У меня есть список, который хранит все выбора опций.
  3. Когда щелчок по любому элементу списка, то первый вариант выбора будет изменен, и я хочу автозаполнения остальных выбирать опции с опцией = «---»Jquery автозаполнения выбрать параметры

    <select id="pa_sc30-glossy-colors" name="attribute_pa_sc30-glossy-colors" class="film"> 
        <option value="">Choose color…</option> 
        <option class="active" id="440" value="440" hidden="hidden">---</option> 
        <option class="active" id="30-23-stone-yellow" value="30-23-stone-yellow">30-23 Stone Yellow</option> 
        <!-- other options... --> 
    </select> 
    
    <select id="pa_sc30-glossy-colors" name="attribute_pa_sc30-glossy-colors" class="film"> 
        <option value="">Choose color…</option> 
        <option value="">---</option> 
    </select> 
    
    <select id="pa_sc30-glossy-colors" name="attribute_pa_sc30-glossy-colors" class="film"> 
        <option value="">Choose color…</option> 
        <option value="">---</option> 
    </select> 
    

JQuery:

// All options are stored in array 'var arr []' 
// Each value of the array is stored in the tag '<li>' 
// tag '<li>' is added to the list <ul class = "choose_variations"> 

var list = $('.choose_variations'); 

    // Append list items to ul.choose_variations 
    $('.film option').each(function(i) { 
     $('<li>').text($(this).text()).data('val',$(this).val()).appendTo(list); 
    }); 

    // Remove '---' and 'Choose color' list items  
    $('.choose_variations li').filter(function() { 
     if($(this).text() == '---' || $(this).text() == 'Choose color…') { 
      $(this).remove(); 
     } 
    }); 


    // change select option if is clicked on list item 
    $('.choose_variations li').click(function() { 
     $('.film').val($(this).data('val')); 
    }); 

Вот DEMO

+0

Ваш вопрос является неполным. Какими должны быть заполнены другие выпадающие списки, если какой-либо цвет выбран из раскрывающегося списка 1? – ArinCool

+0

Когда вы нажимаете на любой элемент списка, первое выпадающее меню будет изменено, а остальные должны быть заполнены первым параметром автоматически. – tweb

+0

Итак, вы хотите сказать, что если вы выберете «30-23 Stone Yellow», выпадающее меню 2 и 3 будет иметь только «30-23 Stone Yellow»? – ArinCool

ответ

0

Проверить это Fiddle

Добавлен значение пустых опций:

<option value="---">---</option> 

Изменена функция li нажмите:

$('.choose_variations li').click(function() { 
    $('.film').val("---"); 
    $('.film:first').val($(this).data('val'));  
});