1)我有 3个文本框如果第一个文本框被填充,则第二个文本框自动从DB更新并添加到第三个文本框。
2)然而,如果选择第3个文本框,则第二个将自动从DB更新,减去第3个和第二个以填充第1个文本框。
<td>Sending Amount</td>
<td><input class="txt" type="text" name="txt" id = "sending"/></td>
<td>Charge</td>
<td><input class="txt" type="text" name="txt" id = "charge"/></td>
<td>Total Amount</td>
<td><input class="txt" type="text" name="txt" id = "totalAmount"/></td>
</tr>
$(function () {
var sending = $('input:text[id$=sending]').keyup(foo);
var charge = $('input:text[id$=charge]').keyup(foo);
var totalAmount = $('input:text[id$=totalAmount]').keyup(foo);
function foo() {
var value1 = sending.val();
var value2 = charge.val();
var sum = add(value1, value2);
$('input:text[id$=totalAmount]').val(sum);
var sub = sub(value1, value2);
$('input:text[id$=sending]').val(sub);
}
function add() {
var sum = 0;
for (var i = 0, j = arguments.length; i < j; i++) {
if (IsNumeric(arguments[i])) {
sum += parseFloat(arguments[i]);
}
}
return sum;
}
function sub()
{
var sub= 0;
***//need to create subtract function***
}
return sub;
}
function IsNumeric(input) {
return (input - 0) == input && input.length > 0;
}
});
</script>
添加工作精细减法未显示正确的值。
尝试下面的脚本,我认为它确实加减。
<script type="text/javascript">
$(function () {
var sending = $('input:text[id$=sending]').keyup(foo);
var charge = $('input:text[id$=charge]').keyup(foo);
var totalAmount = $('input:text[id$=totalAmount]').keyup(foo);
function foo() {
var value1 = sending.val();
var value2 = charge.val();
if(IsNumeric(value2)){
if(IsNumeric(value1)){
var value3 = parseFloat(value1) + parseFloat(value2);
$('input:text[id$=totalAmount]').val(value3);
}}
value3 = totalAmount.val();
if(IsNumeric(value3)){
if(IsNumeric(value2)){
value1 = parseFloat(value3) - parseFloat(value2);
$('input:text[id$=sending]').val(value1);
}}
}
function IsNumeric(input) {
return (input - 0) == input && input.length > 0;
}
});
答案 0 :(得分:0)
如果有两个参数,你为什么需要一个函数add()
,为什么不做sum = value1 + value2
同样,sub = value1 - value2
应该可以解决问题。
如果你 使用sub
功能,你可以做一些像
function sub(value1,value2)
{
var sub= value1 - value2;
return sub;
}