我这里有一张表,可自动计算总成本基数 你输入的数量。
我的问题是每次我尝试删除总价值的数量值 从之前的数量仍然存在而不是" 0"。我只是想让它像这样回应:
如果数量文本框有值,则总计成本将计算并
如果用户删除了数量中的值,则会显示总费用 " 0"
任何帮助将不胜感激! 谢谢。
这是我到目前为止所拥有的。
HTML
<table style="border:1px solid purple">
<tr>
<th style="font-size:9px;">COST</th>
<th style="font-size:9px;">QTY</th>
<th style="font-size:9px;">TOTAL</th>
</tr>
<tr id="Tr1">
<td><input class="price" type="text" name="price[]" value="100.00"></td>
<td><input class="qty" type="text" name="qty[]" ></td>
<td><input type="text" class="output" name="output[]"></td>
</tr>
<tr id="Tr2">
<td><input class="price" type="text" name="price[]" value="100.00"></td>
<td><input class="qty" type="text" name="qty[]" ></td>
<td><input type="text" class="output" name="output[]"></td>
</tr>
<tr id="Tr3">
<td><input class="price" type="text" name="price[]" value="100.00"></td>
<td><input class="qty" type="text" name="qty[]" ></td>
<td><input type="text" class="output" name="output[]"></td>
</tr>
<tr id="Tr4">
<td><input class="price" type="text" name="price[]" value="100.00"></td>
<td><input class="qty" type="text" name="qty[]" ></td>
<td><input type="text" class="output" name="output[]"></td>
</tr>
</table>
的JavaScript
$(document).ready(function() {
$(this).keyup(function() {
var grandTotal = 0;
$("input[name='price[]']").each(function (index) {
var price = $("input[name='price[]']").eq(index).val();
var qty = $("input[name='qty[]']").eq(index).val();
var output = parseInt(price) * parseInt(qty);
if (!isNaN(output)) {
$("input[name='output[]']").eq(index).val(output);
}
});
});
});
答案 0 :(得分:0)
修改后的jsvascript在下面,试试这个..
private static final String NUMBER_REGEX = "(^\\d++)|(^[\\-]{1}\\d++)";
private static final Pattern NUMBER_PATTERN = Pattern.compile(NUMBER_REGEX);
final Matcher matcher = NUMBER_PATTERN.matcher(inputString);
if(matcher.find()) {
// If matcher => parse the value
final String sNumber = matcher.group();
final int value = Integer.parseInt(sNumber);
} else {
// Not matching
}
如果您想将空白数量字段的输出字段保持为空,则可以设置
output =“”而不是output = 0;