jquery添加2个文本框并使用总和

时间:2016-09-27 20:54:27

标签: jquery

以下是我的3个文本框:

<input id="RegistrationFee" name="RegistrationFee" type="text"
size="6" />

<input id="ThursdayDinnerFee" name="ThursdayDinnerFee" type="text" 
size="6" />

<input id="AmountDue" name="AmountDue" type="text" readonly size="6"  />

我想要做的是自动填充AmountDue,其总和为RegistrationFeeThursdayDinnerFee。我不确定这是否会有所不同,但RegistrationFeeThursdayDinnerFee会根据所选的广播框选项自动填充。我试过这个并不起作用:

$('input').change(function() {
    $('[name="AmountDue"]').val(parseInt($("#RegistrationFee").val())+ 
    (parseInt($("#ThursdayDinnerFee").val())));
});

2 个答案:

答案 0 :(得分:0)

因为Spencer似乎认为代码本身不够解释......

你改变的原始功能毫无意义。所有三个输入都应该是只读的,因为它们是自动填充的,然后您可以在点击单选按钮时触发添加和更新输入。你没有明确是否有不同的注册费用,但是添加代码并不是很难,因为它对我提供的内容进行了微小的改动。

<强> HTML

<form action="">
  <input class="radio-btn" type="radio" name="price" value="25"> Dinner 1<br>
  <input class="radio-btn" type="radio" name="price" value="15"> Dinner 2<br>
  <input class="radio-btn" type="radio" name="price" value="10"> Dinner 3<br>
  <input id="registration-fee" name="RegistrationFee" type="text" value="50" readonly/>
  <input id="thursday-dinner-fee" name="ThursdayDinnerFee" type="text" readonly/>
  <input id="amount-due" name="AmountDue" type="text" readonly  />
</form>

<强>的jQuery

$(".radio-btn").on("click", function(){
  var $value = $(this).val();
  var $registration = $("#registration-fee").val();
  $("#thursday-dinner-fee").val($value);
  var total = parseInt($value) + parseInt($registration);
  $("#amount-due").val(total);
})

示例:https://jsfiddle.net/calder12/ftL0y65o/ 第二小提琴说明多种注册费。注意而不是两次计算我只是将文本框的值设置为默认值,运行不需要的计算没有意义。 https://jsfiddle.net/calder12/L45wjyk0/3/

答案 1 :(得分:0)

希望这会有所帮助,您需要将文本编号转换为int然后添加它们并将结果写入到应付金额框中。这没有经过测试,但希望它可以给你一个想法。

 var regFee = $("#RegistrtationFee").val();
var dinFee = $("#ThrusdayDinnerFee").val();
var result = parseInt(regFee) + parseInt(dinFee);

if (regFee.length() >= 1 && dinFee.length() >= 1 )
{
$("#AmountDue").val(result)
}