Некоторые базовые Javascript, чтобы предложить цены

У меня есть код , который в настоящее время даст aDayPrice, an ExtraDayPriceи a WeekPriceна основе тогоItemValue, что было введено пользователем.

$("#ItemValue").change(function () {
    var val = parseFloat($(this).val());
    if (!isNaN(val)) {
        $("#Price").val(getPriceString(val * 0.02));
        $("#ExtraDayPrice").val(getPriceString(val * 0.015));
        $('#WeekPrice').val(getPriceString(val * 0.1));
    }
});

Теперь вместо этого я хотел быExtraDayPrice, чтобы и WeekPriceзависел от DayPrice(который, в свою очередь, все еще зависит от введенного ItemValue). Это должно быть так: ExtraDayPrice = 0,75 * DayPrice. WeekPrice = 5,3 * DayPrice.
Как это сделать?

Заранее спасибо!

1 ответ

  1. Следует использовать переменные, присвоить этим переменным некоторое значение, а затем установить значение входного поля для этих переменных. И так как вам нужно обновить другие цены, если пользователь хочет изменить цену вручную, вы можете использовать одну функцию изменения, но просто настроить значение, используемое для расчета других полей ценообразования.

    $("#ItemValue, #Price").change(function () {
        var val = parseFloat($(this).val());
        if (!isNaN(val)) {
            //if the element clicked is ItemValue adjust val to be suggested dayPrice
            if(this.id == "ItemValue") {
                val *= 0.02;
            }
            //update the pricing elements
            updatePricing(val);
        }
    });
    
    function updatePricing(dayPrice) {
            var extraDayPrice = dayPrice * 0.015;
            var weekPrice = dayPrice * 0.1;
    
            $("#Price").val(getPriceString(dayPrice));
            $("#ExtraDayPrice").val(getPriceString(extraDayPrice));
            $('#WeekPrice').val(getPriceString(weekPrice));
    }