以下是我的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
,其总和为RegistrationFee
和ThursdayDinnerFee
。我不确定这是否会有所不同,但RegistrationFee
和ThursdayDinnerFee
会根据所选的广播框选项自动填充。我试过这个并不起作用:
$('input').change(function() {
$('[name="AmountDue"]').val(parseInt($("#RegistrationFee").val())+
(parseInt($("#ThursdayDinnerFee").val())));
});
答案 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)
}