gpt4 book ai didi

javascript - Jquery根据输入变化重新计算所有其他输入

转载 作者:行者123 更新时间:2023-12-01 05:12:36 35 4
gpt4 key购买 nike

我正在尝试创建批量价格更改表单,但无法选择当前价格。

我尝试使用 .each 函数进行更新,但它不会在输入更改时更新。 (当前的fiyat+miktar也没有按预期工作)

我为我的表单创建了一支笔;它可以告诉您更多信息:https://codepen.io/exspet/pen/zYxmaPR

$(document).ready(function() {

$('#c-siteprice').on('input', function() {
var miktar = $(this).val();
$('.samount').html(miktar);
$('.sfinal').show();

$(".sfinalprice").each(function() {
var currentfiyat = $(this).val();
var newfiyat = currentfiyat + miktar;
$('.sfinalprice').val(newfiyat);
});

});


$('.sdo').on('click', function() {
if ($(this).val() == 's-add') {
var islem = '<span class="glyphicon glyphicon-plus"></span>';
} else if ($(this).val() == 's-tract') {
var islem = '<span class="glyphicon glyphicon-minus"></span>';
} else if ($(this).val() == 's-change') {
var islem = '<span class="glyphicon glyphicon-forward"></span>';
}
$('.sadorremove').html(islem);
});

});
/* body{padding: 15px;} */

img {
max-width: 150px;
height: auto;
}


/* li:hover{ background-color:#D8E8F5;}
li:hover ul li{ background-color: #fff;} */

li:hover ul li:hover {
background-color: #D8E8F5;
}

.navbar-brand img {
max-height: 200%;
margin-top: -10px;
}

hr {
margin-top: 12px;
margin-bottom: 12px;
}

.btn-link {
padding: 6px 1px;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
<link rel="stylesheet" type="text/css" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
<script type="text/javascript" src="//cdn.datatables.net/1.10.0/js/jquery.dataTables.js"></script>
<script type="text/javascript" src="//cdn.datatables.net/plug-ins/e9421181788/integration/bootstrap/3/dataTables.bootstrap.js"></script>
<link rel="stylesheet" type="text/css" href="//cdn.datatables.net/plug-ins/e9421181788/integration/bootstrap/3/dataTables.bootstrap.css">
<script type="text/javascript" src="//cdn.datatables.net/fixedheader/2.1.1/js/dataTables.fixedHeader.min.js"></script>
<link rel="stylesheet" type="text/css" href="//cdn.datatables.net/fixedheader/2.1.1/css/dataTables.fixedHeader.css">
<link type="text/css" href="//gyrocode.github.io/jquery-datatables-checkboxes/1.2.9/css/dataTables.checkboxes.css" rel="stylesheet" />
<script type="text/javascript" src="//gyrocode.github.io/jquery-datatables-checkboxes/1.2.9/js/dataTables.checkboxes.min.js"></script>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-select/1.12.4/css/bootstrap-select.min.css">
<script src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-select/1.12.4/js/bootstrap-select.min.js"></script>
<link rel="stylesheet" type="text/css" href="css/pstyle.css">
<!--Içerik-->

</script>
<div class="container-fluid">
<table class="table table-bordered table-hover table-striped">
<tr>
<td></td>
<td>
<input class="sdo" name="sdo" id="s-add" type="radio" value="s-add"> <label for="s-add">Add</label>
<input class="sdo" name="sdo" id="s-tract" type="radio" value="s-tract"> <label for="s-tract">Subtract</label>
<input class="sdo" name="sdo" id="s-change" type="radio" value="s-change"> <label for="s-change">Change</label>
<input id="c-siteprice" class="txt" type="text" size="4" name="txt" />
</td>
<td><input id="c-ebayprice" class="txt" type="text" size="4" name="txt" /></td>
</tr>
<tr>

<td>INC International Concepts Faux-Fur Cross Band Slippers (Black, S)</td>
<td class="siteprice">
19.49 <span class="sadorremove"></span>
<span class="samount"></span>
<span class="sfinal" style="display:none;">
<span style="font-weight: bold;font-size: 18px;"> = </span>
<input class="sfinalprice" name="sprice-99814" type="text" size="4" value="19.49" />
</span>
</td>
<td>20.82</td>
</tr>
<tr>

<td>INC International Concepts INC Fluffy Faux-Fur Scuff Slippers (Ivory, L)</td>
<td class="siteprice">
9.60 <span class="sadorremove"></span>
<span class="samount"></span>
<span class="sfinal" style="display:none;">
<span style="font-weight: bold;font-size: 18px;"> = </span>
<input class="sfinalprice" name="sprice-144526" type="text" size="4" value="9.60" />
</span>
</td>
<td>10</td>
</tr>
<tr>

<td>INC International Concepts INC Fluffy Faux-Fur Scuff Slippers (Ivory, XL)</td>
<td class="siteprice">
9.60 <span class="sadorremove"></span>
<span class="samount"></span>
<span class="sfinal" style="display:none;">
<span style="font-weight: bold;font-size: 18px;"> = </span>
<input class="sfinalprice" name="sprice-144527" type="text" size="4" value="9.60" />
</span>
</td>
<td>10</td>
</tr>
<tr>

<td>INC International Concepts Beverage Icon Velour Slippers (Black, L/M)</td>
<td class="siteprice">
9.60 <span class="sadorremove"></span>
<span class="samount"></span>
<span class="sfinal" style="display:none;">
<span style="font-weight: bold;font-size: 18px;"> = </span>
<input class="sfinalprice" name="sprice-144529" type="text" size="4" value="9.60" />
</span>
</td>
<td>10.91</td>
</tr>
<tr>

<td>INC International Concepts Womens Love Velour Scuff Slippers (Light Pink, XL)</td>
<td class="siteprice">
9.60 <span class="sadorremove"></span>
<span class="samount"></span>
<span class="sfinal" style="display:none;">
<span style="font-weight: bold;font-size: 18px;"> = </span>
<input class="sfinalprice" name="sprice-144533" type="text" size="4" value="9.60" />
</span>
</td>
<td>10.91</td>
</tr>
<tr>

<td>INC International Concepts Faux-Marabou Slide Slippers (Medium Pink, L/M)</td>
<td class="siteprice">
23.38 <span class="sadorremove"></span>
<span class="samount"></span>
<span class="sfinal" style="display:none;">
<span style="font-weight: bold;font-size: 18px;"> = </span>
<input class="sfinalprice" name="sprice-138066" type="text" size="4" value="23.38" />
</span>
</td>
<td>24.99</td>
</tr>
<tr>
<td>INC International Concepts Women's Tassel Slippers (Leopard, S)</td>
<td class="siteprice">
11.51 <span class="sadorremove"></span>
<span class="samount"></span>
<span class="sfinal" style="display:none;">
<span style="font-weight: bold;font-size: 18px;"> = </span>
<input class="sfinalprice" name="sprice-131204" type="text" size="4" value="11.51" />
</span>
</td>
<td>13.08</td>
</tr>
<tr>

<td>INC International Concepts Women's Faux-Marabou Slide Slippers (Wine, M)</td>
<td class="siteprice">
11.51 <span class="sadorremove"></span>
<span class="samount"></span>
<span class="sfinal" style="display:none;">
<span style="font-weight: bold;font-size: 18px;"> = </span>
<input class="sfinalprice" name="sprice-131202" type="text" size="4" value="11.51" />
</span>
</td>
<td>13.08</td>
</tr>
<tr>

<td>INC International Concepts Women's Tassel Slippers (Leopard, M)</td>
<td class="siteprice">
11.51 <span class="sadorremove"></span>
<span class="samount"></span>
<span class="sfinal" style="display:none;">
<span style="font-weight: bold;font-size: 18px;"> = </span>
<input class="sfinalprice" name="sprice-131203" type="text" size="4" value="11.51" />
</span>
</td>
<td>13.08</td>
</tr>
</table>
</div>
<!--/Içerik-->
</body>

</html>

最佳答案

有两件事你应该考虑

  1. 您应该将值从 string 解析为 float,如 parseFloat(miktar)
  2. 您应该添加一个数据属性来存档单价,例如 data-unitprice="19.49",然后您可以获得像 var unitPrice = $(item).data('单价')
$(".sfinalprice").each(function(index, item) {
var unitPrice = $(item).data('unitprice');
var newfiyat = parseFloat(unitPrice) + parseFloat(miktar);

$(item).val(newfiyat);
});

查看下面的现场演示

$(document).ready(function() {

$('#c-siteprice').on('input', function() {
var miktar = $(this).val();
$('.samount').html(miktar);
$('.sfinal').show();

$(".sfinalprice").each(function(index, item) {
var unitPrice = $(item).data('unitprice');
var newfiyat = parseFloat(unitPrice) + parseFloat(miktar);

$(item).val(newfiyat);
});

});


$('.sdo').on('click', function() {
if ($(this).val() == 's-add') {
var islem = '<span class="glyphicon glyphicon-plus"></span>';
} else if ($(this).val() == 's-tract') {
var islem = '<span class="glyphicon glyphicon-minus"></span>';
} else if ($(this).val() == 's-change') {
var islem = '<span class="glyphicon glyphicon-forward"></span>';
}
$('.sadorremove').html(islem);
});

});
/* body{padding: 15px;} */

img {
max-width: 150px;
height: auto;
}


/* li:hover{ background-color:#D8E8F5;}
li:hover ul li{ background-color: #fff;} */

li:hover ul li:hover {
background-color: #D8E8F5;
}

.navbar-brand img {
max-height: 200%;
margin-top: -10px;
}

hr {
margin-top: 12px;
margin-bottom: 12px;
}

.btn-link {
padding: 6px 1px;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
<link rel="stylesheet" type="text/css" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
<script type="text/javascript" src="//cdn.datatables.net/1.10.0/js/jquery.dataTables.js"></script>
<script type="text/javascript" src="//cdn.datatables.net/plug-ins/e9421181788/integration/bootstrap/3/dataTables.bootstrap.js"></script>
<link rel="stylesheet" type="text/css" href="//cdn.datatables.net/plug-ins/e9421181788/integration/bootstrap/3/dataTables.bootstrap.css">
<script type="text/javascript" src="//cdn.datatables.net/fixedheader/2.1.1/js/dataTables.fixedHeader.min.js"></script>
<link rel="stylesheet" type="text/css" href="//cdn.datatables.net/fixedheader/2.1.1/css/dataTables.fixedHeader.css">
<link type="text/css" href="//gyrocode.github.io/jquery-datatables-checkboxes/1.2.9/css/dataTables.checkboxes.css" rel="stylesheet" />
<script type="text/javascript" src="//gyrocode.github.io/jquery-datatables-checkboxes/1.2.9/js/dataTables.checkboxes.min.js"></script>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-select/1.12.4/css/bootstrap-select.min.css">
<script src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-select/1.12.4/js/bootstrap-select.min.js"></script>
<link rel="stylesheet" type="text/css" href="css/pstyle.css">
<!--Içerik-->
</script>
<div class="container-fluid">
<table class="table table-bordered table-hover table-striped">
<tr>
<td></td>
<td>
<input class="sdo" name="sdo" id="s-add" type="radio" value="s-add"> <label for="s-add">Add</label>
<input class="sdo" name="sdo" id="s-tract" type="radio" value="s-tract"> <label for="s-tract">Subtract</label>
<input class="sdo" name="sdo" id="s-change" type="radio" value="s-change"> <label for="s-change">Change</label>
<input id="c-siteprice" class="txt" type="text" size="4" name="txt" />
</td>
<td><input id="c-ebayprice" class="txt" type="text" size="4" name="txt" /></td>
</tr>
<tr>

<td>INC International Concepts Faux-Fur Cross Band Slippers (Black, S)</td>
<td class="siteprice">
19.49 <span class="sadorremove"></span>
<span class="samount"></span>
<span class="sfinal" style="display:none;">
<span style="font-weight: bold;font-size: 18px;"> = </span>
<input class="sfinalprice" name="sprice-99814" type="text" size="4" data-unitprice="19.49" value="19.49" />
</span>
</td>
<td>20.82</td>
</tr>
<tr>

<td>INC International Concepts INC Fluffy Faux-Fur Scuff Slippers (Ivory, L)</td>
<td class="siteprice">
9.60 <span class="sadorremove"></span>
<span class="samount"></span>
<span class="sfinal" style="display:none;">
<span style="font-weight: bold;font-size: 18px;"> = </span>
<input class="sfinalprice" name="sprice-144526" type="text" size="4" data-unitprice="9.60" value="9.60" />
</span>
</td>
<td>10</td>
</tr>
</table>
</div>
<!--/Içerik-->
</body>

</html>

关于javascript - Jquery根据输入变化重新计算所有其他输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59801230/

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