javascript - 输入固定值
问题描述
我想创建一个具有固定价格的表格、一个可以输入值的输入字段和一个总计的列(价格*数量)
我遇到的问题是我编写的代码有效,但仅适用于整数。逗号后不读。因此,如果我输入 4.39 的价格,它会以 4 计算。
此外,如果我将类型设置为“十进制”或“数字”,它也不起作用。
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title></title>
<script type="text/javascript" src="https://code.jquery.com/jquery-2.2.3.js"></script>
<script type="text/javascript">
$(function () {
$('.price,.quantity').on('keyup', function () {
var row = $(this).closest('tr');
var price = $(row).find('.price').val() == '' ? 0 : $(row).find('.price').val();
var quantity = $(row).find('.quantity').val() == '' ? 0 : $(row).find('.quantity').val();
$(row).find('.total').val(parseInt(isNaN(price) ? 0 : price) * parseInt(isNaN(quantity) ? 0 : quantity));
});
});
</script>
</head>
<body>
<div>
<table>
<tr>
<th>Name</th>
<th>Price</th>
<th>Quantity</th>
<th>Total</th>
</tr>
<tr>
<td>Chai</td>
<td><input type="text" class="price" value="1.39" /></td>
<td><input type="text" class="quantity" /></td>
<td><input type="text" class="total" /></td>
</tr>
<tr>
<td>Chang</td>
<td><input type="text" class="price" /></td>
<td><input type="text" class="quantity" /></td>
<td><input type="text" class="total" /></td>
</tr>
<tr>
<td>Aniseed Syrup</td>
<td><input type="text" class="price" /></td>
<td><input type="text" class="quantity" /></td>
<td><input type="text" class="total" /></td>
</tr>
</table>
</div>
</body>
</html>
解决方案
您可以向您的添加readonly
属性input fields
来制作它non-editable
。
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title></title>
<script type="text/javascript" src="https://code.jquery.com/jquery-2.2.3.js"></script>
<script type="text/javascript">
$(function () {
$('.price,.quantity').on('keyup', function () {
var row = $(this).closest('tr');
var price = $(row).find('.price').val() == '' ? 0 : $(row).find('.price').val();
var quantity = $(row).find('.quantity').val() == '' ? 0 : $(row).find('.quantity').val();
$(row).find('.total').val(parseInt(isNaN(price) ? 0 : price) * parseInt(isNaN(quantity) ? 0 : quantity));
});
});
</script>
</head>
<body>
<div>
<table>
<tr>
<th>Name</th>
<th>Price</th>
<th>Quantity</th>
<th>Total</th>
</tr>
<tr>
<td>Chai</td>
<td><input type="text" class="price" /></td>
<td><input type="text" class="quantity" /></td>
<td><input type="text" class="total" readonly/></td>
</tr>
<tr>
<td>Chang</td>
<td><input type="text" class="price" /></td>
<td><input type="text" class="quantity" /></td>
<td><input type="text" class="total" readonly/></td>
</tr>
<tr>
<td>Aniseed Syrup</td>
<td><input type="text" class="price" /></td>
<td><input type="text" class="quantity" /></td>
<td><input type="text" class="total" readonly/></td>
</tr>
</table>
</div>
</body>
</html>
推荐阅读
- mysql - MySQLSyntaxErrorException:您的 SQL 语法有错误(Spring Hibernate)
- powershell - 通过 Powershell 设置默认域
- python - python中的“in”关键字是如何工作的?有更快的方法吗?
- c# - 如何将 XAML 文本框绑定到另一个文本框的输入或它自己的输入,然后将输入保存到 MVVM 中的数据对象?
- python-3.x - 无法在任何 IDE 中保存 python 文件
- python-3.x - 如何“临时禁止”使用 discord.py 的人?
- java - 尝试在空对象引用 Radio Group 上调用虚拟方法
- java - Line类intersectionWith方法实现
- sql - 需要根据 csv 文件中的数据填充表格
- netezza - 去年在 Microstrategy Netezza 语法中的 ApplySimple 公式