我尝试在用户检查其中一个单选按钮选项后获得总价。每当用户点击单选按钮时,它将循环所有选中的单选按钮并将所有内容加起来以获得最终总计。但问题是总数总是错误的。
// Radio Option
$('label.radio_label').on('click', function () {
var total = 0;
$('.parent_radio_option input[type="radio"]:checked').each(function (index) {
var radio_option = $(this).data('price');
total += parseInt(radio_option);
console.log(radio_option);
});
console.log('total: ' + total);
});
你可以在这里试试JSFiddle
答案 0 :(得分:2)
当点击label
时,input
元素的已检查状态尚未更改,因此您将始终获得先前检查过的输入元素的值。
您需要使用收音机的更改事件
$('.parent_radio_option input[type="radio"]').on('change', function () {})
演示:Fiddle