当用户在第一组中的单选按钮中选择任何选项,然后在相应的输入字段中输入任何数字,然后选择下一个任何单选选项并在输入字段中输入任何值时,这次应该将新结果与旧结果相加并将其显示在结果输入字段中,现在如果他清空任何输入字段,那么也应该从总结果中减去并将其显示在结果字段中。
我有很多这样的组,但在这里我只放了其中两个来获得结果。
此处 ID 为 FIDDLE
这是 jquery 代码。我可以在 jquery 中工作,但不是很好,我为每个组使用了单独的代码,我知道必须有一种方法可以通过通用代码获得整个功能,但我再次不擅长 jquery
jQuery("#txt_im").keyup(setValue);
jQuery('[name="rdbtn-im"]').change(setValue);
function setValue() {
var txt_value = jQuery("#txt_im").val();
var rad_val = jQuery('[name="rdbtn-im"]:checked').val();
if(!txt_value.length) {
jQuery('#final_res').val('');
return;
}
if (!rad_val.length) return;
var res = txt_value * rad_val;
var final = parseInt(res, 10);
var MBresult = final / 1024;
jQuery('#final_res').val(MBresult.toFixed(2));
}
var final2 = 0;
jQuery("#txt_fb").keyup(setValue2);
jQuery('[name="rdbtn-fb"]').change(setValue2);
function setValue2() {
var txt_value = jQuery("#txt_fb").val();
var rad_val = jQuery('[name="rdbtn-fb"]:checked').val();
if(!txt_value.length) {
jQuery('#final_res').val('');
return;
}
if (!rad_val.length) return;
var res2 = txt_value * rad_val;
final2 = parseInt(res2, 10) + final;
var MBresult = final2 / 1024;
jQuery('#final_res').val(MBresult.toFixed(2));
}
事实上,用户可以自由选择任意数量的组,也可以在选择后自由删除任意数量的组。
我知道当用户在选择第一个组后选择第二组时, fiddle 会出现错误,它会删除错误的结果,我尝试解决它但失败了,但我定义了整个看到的我需要做什么。我将非常感谢你的好意。
最佳答案
HTML:
<table>
<tr>
<td>
<input type="radio" name="rdbtn-im" id="rdbtn-im-day" value="25" class="rdbtn-style-social" />Daily
<input type="radio" name="rdbtn-im" id="rdbtn-im-week" value="175" class="rdbtn-style-social" />Weekly
<input type="text" name="txb3" id="txt_im" class="txt-email" style="width:100px;margin: 2px;" />
</td>
</tr>
<tr>
<td class="sec-td-rdbtns-social">
<input type="radio" name="rdbtn-fb" id="rdbtn-fb-day" value="3500" class="rdbtn-style-social" />Daily
<input type="radio" name="rdbtn-fb" id="rdbtn-fb-week" value="500" class="rdbtn-style-social" />Weekly
<input type="text" name="txb1" id="txt_fb" class="txt-email" style="width:100px;margin: 2px;" /> </td>
</tr>
</table>
<br>result
<input type="text" name="final_res" id="final_res" class="" style="width:100px;margin: 2px;" />
Jquery:
jQuery(".txt-email").keyup(setValue);
jQuery('.rdbtn-style-social').change(setValue);
function setValue() {
var total = 0;
$(".rdbtn-style-social:checked").each(function () {
var myInput = $(this).siblings(".txt-email").val();
if (myInput.length) {
total += myInput * $(this).val();
}
});
if (total) {
jQuery('#final_res').val((total / 1024).toFixed(2));
} else {
jQuery('#final_res').val('');
}
}
关于javascript - 输入中的条目一一应在结果字段中显示添加的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17315254/