2014-02-04 3 views
0

Lets У меня есть массив размера и цены некоторые вещи, как этотЗависимые выпадающие в из массива в рельсах

array = [[large, 100],[medium, 70],[small, 50]] 

Я хочу две капли спады один для размера и один для цены. Я хочу, чтобы, если пользователь выбирает большой от первого падения, цена 100 будет выбрана автоматически, и ее необходимо отключить. Просто, но мне нужна помощь. Я использую рельсы. 4.0

ответ

0

Попробуйте это.

Преобразование массива в хэш, возьмите ключи и значения, и теперь вы будете иметь массив sizes и массив prices:

array = [['large', 100],['medium', 70],['small', 50]] 
h = Hash[array] 
sizes = h.keys 
prices = h.values 

Это ваши два выберите выпадающее меню для sizes и prices:

select_tag "Sizes", options_for_select(sizes) 
select_tag "Prices", options_for_select(prices), disabled: true 

И следующий Javascript установит price на основе того, что выбрано size:

$(function() { 
    var prices, sizes; 
    sizes = $("#sizes"); 
    prices = $("#prices"); 
    return sizes.change(function() { 
    if (sizes.val() === 'large') { 
     prices.val('100'); 
    } 
    if (sizes.val() === 'medium') { 
     prices.val('70'); 
    } 
    if (sizes.val() === 'small') { 
     return prices.val('50'); 
    } 
    }); 
}); 

Надеюсь, это поможет.

Смежные вопросы