gpt4 book ai didi

javascript - 将值存储在 java 或 javascript 中,以便可以将其传递给另一个 JSP

转载 作者:行者123 更新时间:2023-12-02 09:49:02 25 4
gpt4 key购买 nike

我在这段代码的第 11 行中获取总价的值但我如何将它存储在 java 或 javascript 变量中,以便我可以通过以下形式将此值传递给 billing.jsp。

--------------------------------------HTML-------- ------------------------

  <div class="card-block">
<h4 class="card-title">Orange</h4>
<p class="card-text">Price: $5</p>
<a href="#" data-name="Orange" data-price="5">Add to cart</a> // Price of
Orange gets added to Cart
</div>

<div class="card-block">
<h4 class="card-title">Banana</h4>
<p class="card-text">Price: $5</p>
<a href="#" data-name="Banana" data-price="5">Add to cart</a> // Price of
Banana gets added to Cart
</div>

Total price: $<span class="total-cart"></span> // Here I am getting
total price of orange and banana lets say $10, how can I store this
dynamically generated value to a javascript variable or in any other
suitable java variable so that I can pass the value as input type hidden
in the below form??


<div class="footer">
<form name="billing" action="billing.jsp">
<input type="hidden" name="price" value=""/> // How can I pass this
total price $10 here to billing.jsp here
<input type="submit"/>
</form>
</div>

----------------------JAVASCRIPT----------------------

var shoppingCart = (function() {
// =============================
// Private methods and propeties
// =============================
cart = [];

// Constructor
function Item(name, price, count) {
this.name = name;
this.price = price;
this.count = count;
}

// Save cart
function saveCart() {
sessionStorage.setItem('shoppingCart', JSON.stringify(cart));
}

// Load cart
function loadCart() {
cart = JSON.parse(sessionStorage.getItem('shoppingCart'));
}
if (sessionStorage.getItem("shoppingCart") != null) {
loadCart();
}



// Public methods and properties

var obj = {};

// Add to cart

obj.addItemToCart = function(name, price, count) {
for(var item in cart) {
if(cart[item].name === name) {
cart[item].count ++;
saveCart();
return;
}
}
var item = new Item(name, price, count);
cart.push(item);
saveCart();
}
// Set count from item
obj.setCountForItem = function(name, count) {
for(var i in cart) {
if (cart[i].name === name) {
cart[i].count = count;
break;
}
}
};
// Remove item from cart
obj.removeItemFromCart = function(name) {
for(var item in cart) {
if(cart[item].name === name) {
cart[item].count --;
if(cart[item].count === 0) {
cart.splice(item, 1);
}
break;
}
}
saveCart();
}

// Remove all items from cart
obj.removeItemFromCartAll = function(name) {
for(var item in cart) {
if(cart[item].name === name) {
cart.splice(item, 1);
break;
}
}
saveCart();
}

// Clear cart
obj.clearCart = function() {
cart = [];
saveCart();
}

// Count cart
obj.totalCount = function() {
var totalCount = 0;
for(var item in cart) {
totalCount += cart[item].count;
}
return totalCount;
}

// Total cart
obj.totalCart = function() {
var totalCart = 0;
for(var item in cart) {
totalCart += cart[item].price * cart[item].count;
}
return Number(totalCart.toFixed(2));
}

// List cart
obj.listCart = function() {
var cartCopy = [];
for(i in cart) {
item = cart[i];
itemCopy = {};
for(p in item) {
itemCopy[p] = item[p];

}
itemCopy.total = Number(item.price * item.count).toFixed(2);
cartCopy.push(itemCopy)
}
return cartCopy;
}

// cart : Array
// Item : Object/Class
// addItemToCart : Function
// removeItemFromCart : Function
// removeItemFromCartAll : Function
// clearCart : Function
// countCart : Function
// totalCart : Function
// listCart : Function
// saveCart : Function
// loadCart : Function
return obj;
})();


// *****************************************
// Triggers / Events
// *****************************************
// Add item
$('.add-to-cart').click(function(event) {
event.preventDefault();
var name = $(this).data('name');
var price = Number($(this).data('price'));
shoppingCart.addItemToCart(name, price, 1);
displayCart();
});

// Clear items
$('.clear-cart').click(function() {
shoppingCart.clearCart();
displayCart();
});


function displayCart() {
var cartArray = shoppingCart.listCart();
var output = "";
for(var i in cartArray) {
output += "<tr>"
+ "<td>" + cartArray[i].name + "</td>"
+ "<td>(" + cartArray[i].price + ")</td>"
+ "<td><div class='input-group'><button class='minus-item input-group-
addon btn btn-primary' data-name=" + cartArray[i].name + ">-</button>"
+ "<input type='number' class='item-count form-control' data-name='" +
cartArray[i].name + "' value='" + cartArray[i].count + "'>"
+ "<button class='plus-item btn btn-primary input-group-addon' data-
name="
+ cartArray[i].name + ">+</button></div></td>"
+ "<td><button class='delete-item btn btn-danger' data-name=" +
cartArray[i].name + ">X</button></td>"
+ " = "
+ "<td>" + cartArray[i].total + "</td>"
+ "</tr>";
}
$('.show-cart').html(output);
$('.total-cart').html(shoppingCart.totalCart());
$('.total-count').html(shoppingCart.totalCount());
}

// Delete item button

$('.show-cart').on("click", ".delete-item", function(event) {
var name = $(this).data('name')
shoppingCart.removeItemFromCartAll(name);
displayCart();
})


// -1
$('.show-cart').on("click", ".minus-item", function(event) {
var name = $(this).data('name')
shoppingCart.removeItemFromCart(name);
displayCart();
})
// +1
$('.show-cart').on("click", ".plus-item", function(event) {
var name = $(this).data('name')
shoppingCart.addItemToCart(name);
displayCart();
})

// Item count input
$('.show-cart').on("change", ".item-count", function(event) {
var name = $(this).data('name');
var count = Number($(this).val());
shoppingCart.setCountForItem(name, count);
displayCart();
});

displayCart();

最佳答案

在下面的函数中,您正在调用totalCart():

function displayCart() {
..
$('.show-cart').html(output);
<!--here you got that total price-->
$('.total-cart').html(shoppingCart.totalCart());
$('.total-count').html(shoppingCart.totalCount());
}

从下面的function中,您将获得总价,只需添加document.getElementById('idofinput').value = some,因此,每当调用此函数时,总值(value)都会在 input 中更新,也不要忘记为您的 input 提供 id。 :

 // Total cart
obj.totalCart = function() {
var totalCart = 0;
for(var item in cart) {
totalCart += cart[item].price * cart[item].count;
}
//setting value for input field.
document.getElementById('idofinput').value= Number(totalCart.toFixed(2));
return Number(totalCart.toFixed(2));
}

关于javascript - 将值存储在 java 或 javascript 中,以便可以将其传递给另一个 JSP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56454111/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com