Jquery 将产品添加到购物车的按钮
我的购物车在这里 在这一点上,我想向用户显示一个按钮,用于将产品添加到购物车中。 当一个按钮被点击在一个产品上时,它应该被添加到购物车而不是拖到购物车上。我需要一个按钮来将该产品添加到购物车上 我试过了,但没能得到。 请尽快帮助解决这个问题 谢谢和问候Jquery 将产品添加到购物车的按钮,jquery,knockout.js,Jquery,Knockout.js,我的购物车在这里 在这一点上,我想向用户显示一个按钮,用于将产品添加到购物车中。 当一个按钮被点击在一个产品上时,它应该被添加到购物车而不是拖到购物车上。我需要一个按钮来将该产品添加到购物车上 我试过了,但没能得到。 请尽快帮助解决这个问题 谢谢和问候 s、 瓦伦@ClarkeyBoy-我不认为瓦伦在这个阶段要求让商店真正“运转”。如果我已经理解了与darksky相同的功能,那么它只是添加了一个按钮来执行与drop功能相同的操作 我已经破解了小提琴在这里工作:使用img作为可拖动的手柄来允许 编
s、 瓦伦@ClarkeyBoy-我不认为瓦伦在这个阶段要求让商店真正“运转”。如果我已经理解了与darksky相同的功能,那么它只是添加了一个按钮来执行与drop功能相同的操作 我已经破解了小提琴在这里工作:使用img作为可拖动的手柄来允许 编辑更多最新JS小提琴(根据以下评论) 我建议使用普通的jqueryui而不是easyui。前者有一个“取消”选项,允许除选择器之外的所有内容都可以访问句柄 稍微重构一下,“添加到购物车”功能就可以在不同的事件中使用
function addToCart(source) {
var name = source.find('p:eq(0)').html();
var price = source.find('p:eq(1)').html();
var cartItem = new item(name, parseFloat(price.split('$')[1]));
var match = ko.utils.arrayFirst(viewModel.cartItems(), function(item) {
return item.name == name;
});
if (match) {
match.qty(match.qty() + 1);
} else {
viewModel.cartItems.push(cartItem);
var rowCount = document.getElementById("cartcontent1").getElementsByTagName("TR").length;
document.getElementById("Total").innerHTML = rowCount;
}
}
所以它可以直接使用
$('.cart').droppable({
onDrop: function(e, source) {
addToCart($(source));
}
});
点击
$('.item .add-to-cart').click(function() {
addToCart($(this).parent());
});
我不打算开始挑选代码其余部分的细节,因为我可以看到您仍在测试和胡闹,只是想得到一个具体的答案。@ClarkeyBoy-我认为Varun在这个阶段并不是在问如何让商店真正“工作”。如果我已经理解了与darksky相同的功能,那么它只是添加了一个按钮来执行与drop功能相同的操作 我已经破解了小提琴在这里工作:使用img作为可拖动的手柄来允许 编辑更多最新JS小提琴(根据以下评论) 我建议使用普通的jqueryui而不是easyui。前者有一个“取消”选项,允许除选择器之外的所有内容都可以访问句柄 稍微重构一下,“添加到购物车”功能就可以在不同的事件中使用
function addToCart(source) {
var name = source.find('p:eq(0)').html();
var price = source.find('p:eq(1)').html();
var cartItem = new item(name, parseFloat(price.split('$')[1]));
var match = ko.utils.arrayFirst(viewModel.cartItems(), function(item) {
return item.name == name;
});
if (match) {
match.qty(match.qty() + 1);
} else {
viewModel.cartItems.push(cartItem);
var rowCount = document.getElementById("cartcontent1").getElementsByTagName("TR").length;
document.getElementById("Total").innerHTML = rowCount;
}
}
所以它可以直接使用
$('.cart').droppable({
onDrop: function(e, source) {
addToCart($(source));
}
});
点击
$('.item .add-to-cart').click(function() {
addToCart($(this).parent());
});
我不打算开始挑选代码其余部分的细节,因为我可以看到您仍在测试和胡闹,只是想要一个具体的答案。试试这个
解决方案如下
使用blow代码并尝试它
<a data-role="link" href="javascript:linkHandler('<%= obj.productname %>', '<%= obj.price %>')" class="get" >Add <a>
function linkHandler(name, price)
{
alert(name);
alert(price);
var name = name;
var price = price;
var cartItem = new item(name, parseFloat(price));
// check duplicate
var match = ko.utils.arrayFirst(viewModel.cartItems(), function(item){ return item.name == name; });
if(match){
match.qty(match.qty() + 1);
} else {
viewModel.cartItems.push(cartItem);
var rowCount = document.getElementById("cartcontent1").getElementsByTagName("TR").length;
document.getElementById("Totala").innerHTML = rowCount;
}
}
添加
函数linkHandler(名称、价格)
{
警报(名称);
警报(价格);
变量名称=名称;
var价格=价格;
var cartItem=新项目(名称、价格);
//核对副本
var match=ko.utils.arrayFirst(viewModel.cartItems(),函数(item){return item.name==name;});
如果(匹配){
匹配数量(匹配数量()+1);
}否则{
viewModel.cartItems.push(cartItem);
var rowCount=document.getElementById(“cartcontent1”).getElementsByTagName(“TR”).length;
document.getElementById(“Totala”).innerHTML=rowCount;
}
}
试试这个
解决方案如下
使用blow代码并尝试它
<a data-role="link" href="javascript:linkHandler('<%= obj.productname %>', '<%= obj.price %>')" class="get" >Add <a>
function linkHandler(name, price)
{
alert(name);
alert(price);
var name = name;
var price = price;
var cartItem = new item(name, parseFloat(price));
// check duplicate
var match = ko.utils.arrayFirst(viewModel.cartItems(), function(item){ return item.name == name; });
if(match){
match.qty(match.qty() + 1);
} else {
viewModel.cartItems.push(cartItem);
var rowCount = document.getElementById("cartcontent1").getElementsByTagName("TR").length;
document.getElementById("Totala").innerHTML = rowCount;
}
}
添加
函数linkHandler(名称、价格)
{
警报(名称);
警报(价格);
变量名称=名称;
var价格=价格;
var cartItem=新项目(名称、价格);
//核对副本
var match=ko.utils.arrayFirst(viewModel.cartItems(),函数(item){return item.name==name;});
如果(匹配){
匹配数量(匹配数量()+1);
}否则{
viewModel.cartItems.push(cartItem);
var rowCount=document.getElementById(“cartcontent1”).getElementsByTagName(“TR”).length;
document.getElementById(“Totala”).innerHTML=rowCount;
}
}
提示:按钮单击的代码与代码中的onDrop
处理程序几乎相同。提示:按钮单击的代码与代码中的onDrop
处理程序几乎相同。在我的示例中,拖放和按钮都可以工作。在示例中尝试一下,您必须通过拖动来允许按钮按下工作(因为使用qeasyui)啊,可能(取决于您的浏览器)是因为图像已损坏,因此句柄已消失-我将更新…看看这个(拖动图像,我们可以稍后将“句柄”配置为更大的)在我的示例中,拖放和按钮都起作用。在示例中尝试一下,您必须通过拖动来允许按钮按下工作(因为使用qeasyui)啊,可能(取决于您的浏览器)是因为图像已损坏,因此句柄已消失-我将更新…看看这个(拖动图像,我们可以稍后将“句柄”配置为更大的)