Перемножение полей
Вложений: 1
Есть два металла золото и серебро. В зависимости от того, какое значение выбрано в поле металл - отображается второй <select>, у которого <option value="цена">проба</option>.
Т.е. надо отобразить список проб в зависимости от выбранного металла и умножить цену конкретной пробы на вес (результат вывести). Как реализовать перемножение именно с тем селектом, который отображается в зависимости от выбранного металла? Сделал два селекта с пробами на золото и серебро и показывал один из них в зависимости от выбранного металла, но не смог подцепиться уже к отображаемому списку с пробами -_- PS Если напишете более-менее рабочий вариант кода - отправьте в лс куда и сколько "спасибо" выразить - я давно не писал на js и давно не спал. буду благодарен за помощь. |
<form class="uk-form"> <fieldset> {# Metal #} <select name="metal" class="uk-form-large uk-width-1-1 uk-margin-bottom"> <option value="gold">{{ 'METAL.GOLD'|t }}</option> <option value="silver">{{ 'METAL.SILVER'|t }}</option> </select> {# Gold #} <select name="gold" class="uk-form-large uk-width-1-1 uk-margin-bottom"> {% for select in theme_config.gold %} <option value="{{ select.price }}">{{ select.sample }}</option> {% endfor %} </select> {# Silver #} <select name="silver" class="uk-form-large uk-width-1-1 uk-margin-bottom"> {% for select in theme_config.silver %} <option value="{{ select.price }}">{{ select.sample }}</option> {% endfor %} </select> <input name="weight" type="text" class="uk-form-large uk-width-1-1 uk-margin-bottom" value="1" placeholder="Вес"> <a name="send" class="uk-width-1-1 uk-button uk-button-large uk-button-primary">Рассчитать</a> <p>Цена за грамм <span class="value">___</span> руб.</p> <p>Сумма на руки <span class="result">___</span> руб.</p> </fieldset> </form> <script> $(document).ready(function(){ var gold = $("select[name=gold]").val() * 1; var silver = $("select[name=silver]").val() * 1; var weight = $("input[name=weight]").val() * 1; // Показываем список проб и цену за грамм при загрузке if ($("select[name=metal]").val() == "gold") { $('select[name=silver]').addClass('uk-hidden'); $("span.value").text(gold); $("span.result").text(gold * weight); } else { $('select[name=gold]').addClass('uk-hidden'); $("span.value").text(silver); $("span.result").text(silver * weight); } }); $(function () { var gold = $("select[name=gold]").val() * 1; var silver = $("select[name=silver]").val() * 1; var weight = $("input[name=weight]").val() * 1; // Отображаем список проб $("select[name=metal]").change(function() { if ($(this).val() == "gold") { $('select[name=silver]').addClass('uk-hidden'); $('select[name=gold]').removeClass('uk-hidden'); } else { $('select[name=gold]').addClass('uk-hidden'); $('select[name=silver]').removeClass('uk-hidden'); } }) // Расчитываем $("a[name=send]").click(function() { if ($('select[name=silver]').hasClass("uk-hidden")) { var result = gold * weight; } else { var result = silver * weight; } $("span.value").text(gold); $("span.result").text(result); }); }); </script> При загрузке страницы срабатывает. Меняется поле с пробами в зависимости от выбранного металла (select с пробами другого металла скрывается классом .uk-hidden). Расчет стоимости по событию click не срабатывает (https://jsfiddle.net/xw3tuchp/). |
Разобрался. Не актуально.
|
Часовой пояс GMT +3, время: 01:15. |