javascript - 实现一个函数输出到另一个函数的逻辑

标签 javascript jquery html

我有 2 个输入复选框和一个选择列表。

每当选中一个复选框时,都会将一定的金额添加到以“amount”作为 id 的元素中。

例如:基本产品价格为 6000,每当选中复选框时,就会在基本产品价格上添加一定金额。

对于具有 10 个输入值的选择框来说也是如此。每个值都乘以 600,然后将结果添加到以“amount”作为 id 的元素中。

查看 JSFiddle 以获得完整的理解:http://jsfiddle.net/0j796h33/13/

这是我为选择框尝试的方法。

function ep(t)
{
    // addedprice = 0;
    var addedprice = t.value * 600;
    total = total + addedprice;
    // total = 6000 - total;
    document.getElementById('total').innerHTML = " (+) "+ addedprice;
    loginer = document.getElementById('login').checked;
    profer = document.getElementById('prof').checked;
    if(t.value > 0)
    {
        // total = total + addedprice;
        if(wpress)
        {
            wp(addedprice);
        }
        if(blogger)
        {
            blog(addedprice);
        }
        if(loginer)
        {
            login(addedprice);
        }
        if(profer)
        {
            prof(addedprice);
        }
    }

    document.getElementById('amount').value = 6000 + total;
    total = 6000 + total;
    document.getElementById('amount').value = total;
}

我需要在 Javascript 中实现这个。

最佳答案

请查找实现示例 here fiddle .

我使用了 jQuery,因为它更简单并且需要更少的代码。我认为这或多或少符合您的要求。

$("#login").change(function (ev) {
    var qty = +($("#amount").val());
    qty += $(this).prop("checked") ? 1500 : -1500;
    $("#amount").val(qty);
    updateAmountSpan(qty);
});

$("#prof").change(function (ev) {
    var qty = +($("#amount").val());
    qty += $(this).prop("checked") ? 2000 : -2000;
    $("#amount").val(qty);
    updateAmountSpan(qty);
});

var previous;
$("#ep").on('click', function () {
    previous = this.value;
}).change(function () {
    var qty = +($("#amount").val()),
        qty_sel = +($(this).val()) * 600,
        qty_prev = previous * 600;
    $("#amount").val(qty - qty_prev + qty_sel);
    updateAmountSpan(qty - qty_prev + qty_sel);
});

var updateAmountSpan = function (qty) {
    (qty > 0) ? $("#total").text("6000 (+) " + qty) : $("#total").text("6000");
};

希望对您有帮助,新年快乐。

关于javascript - 实现一个函数输出到另一个函数的逻辑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27724618/

相关文章:

html - 放大导致页脚不增长

html - 如何创建下拉列表并绑定(bind)来自服务器的数据

javascript - jqGrid:编辑行时对列进行条件编辑

javascript - 为 html 表单 GET 方法添加附加文本

javascript - ngFor 和(单击)在 Ionic 2 和 Angular 2 中不起作用

jquery - 我无法理解 jQuery 链接是如何工作的

javascript - 使用 javascript 删除除 <img> 或 <img/> 标签之外的所有 html 标签

javascript - 为什么我在使用 `undefined` 时得到 `document.getElementsByClassName(...).value` ?

javascript - 使用 Proj4 外部 JS 文件进行 Dojo 构建

php - 文件字段值显示错误