Javascript Jquery根据输入更改重新计算所有其他输入
我正在尝试创建批量价格更改表单,但无法选择当前价格 我尝试用更新。每个函数,但它不会在输入更改时更新。(当前Fiyat+miktar未按预期工作) 我已经为我的表格创建了一支笔;它可以告诉你更多:Javascript Jquery根据输入更改重新计算所有其他输入,javascript,jquery,input,each,Javascript,Jquery,Input,Each,我正在尝试创建批量价格更改表单,但无法选择当前价格 我尝试用更新。每个函数,但它不会在输入更改时更新。(当前Fiyat+miktar未按预期工作) 我已经为我的表格创建了一支笔;它可以告诉你更多: $(文档).ready(函数(){ $('c-siteprice')。在('input',function()上{ var miktar=$(this.val(); $('.samount').html(miktar); $('.sfinal').show(); $(“.sfinalprice”)。
$(文档).ready(函数(){
$('c-siteprice')。在('input',function()上{
var miktar=$(this.val();
$('.samount').html(miktar);
$('.sfinal').show();
$(“.sfinalprice”)。每个(函数(){
var currentfiyat=$(this.val();
var newfiyat=当前Fiyat+miktar;
$('.sfinalprice').val(newfiyat);
});
});
$('.sdo')。在('click',function()上{
if($(this).val()=='s-add'){
var islem=“”;
}else if($(this).val()='s-tract'){
var islem=“”;
}else if($(this).val()=='s-change'){
var islem=“”;
}
$('.sadorremove').html(islem);
});
});代码>
/*body{padding:15px;}*/
img{
最大宽度:150px;
高度:自动;
}
/*li:悬停{背景色:#D8E8F5;}
li:悬停ul li{背景色:#fff;}*/
李:悬停ul李:悬停{
背景色:#D8E8F5;
}
.navbar品牌img{
最大高度:200%;
利润上限:-10px;
}
人力资源{
边缘顶部:12px;
边缘底部:12px;
}
.btn链路{
填充:6px 1px;
}
添加
减去
改变
INC国际概念人造毛皮交叉带拖鞋(黑色,S)
19.49
=
20.82
INC国际概念公司蓬松人造毛皮拖鞋(象牙色,L)
9.60
=
10
INC国际概念公司蓬松人造毛皮拖鞋(象牙色,XL码)
9.60
=
10
INC国际概念饮料图标丝绒拖鞋(黑色,L/M)
9.60
=
10.91
INC International Concepts女式爱情丝绒拖鞋(浅粉色,XL码)
9.60
=
10.91
INC International Concepts人造马拉布滑拖鞋(中粉红色,长/米)
23.38
=
24.99
INC International Concepts女式流苏拖鞋(Leopard,s)
11.51
=
13.08
INC International Concepts女式人造马拉布滑拖鞋(Wine,M)
11.51
=
13.08
INC International Concepts女式流苏拖鞋(Leopard,M)
11.51
=
13.08
有两件事你应该考虑
您应该将值从string
解析为float
就像parseFloat(miktar)
您应该添加一个数据属性来归档单价,如data unitprice=“19.49”
,然后您可以获得值,如var unitprice=$(item)。数据('unitprice')
查看下面的实时演示
$(文档).ready(函数(){
$('c-siteprice')。在('input',function()上{
var miktar=$(this.val();
$('.samount').html(miktar);
$('.sfinal').show();
美元(“.sfinalprice”)。每个(功能(索引,项目){
var单价=$(项目)。数据(“单价”);
var newfiyat=parseFloat(单价)+parseFloat(米克塔尔);
美元(项目).val(新菲亚特);
});
});
$('.sdo')。在('click',function()上{
if($(this).val()=='s-add'){
var islem=“”;
}else if($(this).val()='s-tract'){
var islem=“”;
}else if($(this).val()=='s-change'){
var islem=“”;
}
$('.sadorremove').html(islem);
});
});代码>
/*body{padding:15px;}*/
img{
最大宽度:150px;
高度:自动;
}
/*li:悬停{背景色:#D8E8F5;}
li:悬停ul li{背景色:#fff;}*/
李:悬停ul李:悬停{
背景色:#D8E8F5;
}
.navbar品牌img{
最大高度:200%;
利润上限:-10px;
}
人力资源{
边缘顶部:12px;
边缘底部:12px;
}
.btn链路{
填充:6px 1px;
}
添加
减去
改变
INC国际概念人造毛皮交叉带拖鞋(黑色,S)
19.49
=
20.82
INC国际概念公司蓬松人造毛皮拖鞋(象牙色,L)
9.60
=
10
我给你写了一个片段。我还为您的代码$(this.val(newfiyat))选择了一个更新的jQuery代码>投票关闭此问题,因为它是由打字错误或无法再复制的问题引起的。虽然类似的问题可能在这里的主题,这是一个解决的方式不太可能帮助未来的读者。感谢更新我的文章,它似乎更可读的方式。我的问题不是打字错误,但我不能确切地说出它是什么。我也相信这个表单可以被其他初学者使用,并帮助未来的读者。这种形式太复杂了,未来的游客不会感兴趣,VAR是土耳其语的。您还需要将值转换为数字:var newfiyat=+currentfiyat++miktar代码>谢谢你的回答,我相信我们即将实现我的目标。但我有两个问题;1-)当我试图键入一个数字(F
$(".sfinalprice").each(function(index, item) {
var unitPrice = $(item).data('unitprice');
var newfiyat = parseFloat(unitPrice) + parseFloat(miktar);
$(item).val(newfiyat);
});