我有 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/