gpt4 book ai didi

javascript - 复选框更改事件记录罚款或折扣jquery

转载 作者:行者123 更新时间:2023-11-27 23:49:35 25 4
gpt4 key购买 nike

DEMO

我正在尝试根据所选季度和当前季度获得罚款或折扣。例如,用户选择第一季度,因为它早已过去,将会受到惩罚。基本上,如果季度过去了,就会受到处罚。我的问题是这样的。如何以一种使值持续存在而不消失的方式实现,例如我们继续单击第一季度,则会产生惩罚,如果用户单击第二季度,惩罚将累积。由于目前是第三季度,应该会有折扣,但惩罚已经消失。我希望惩罚继续存在。这怎么可能。

$('table#table').on('change', 'tr input:checkbox.quarter', function() {
var checked = $(this).closest('tr').find('input:checkbox.quarter:checked').length;
var value = $(this).closest('tr').find('input.quarter').val();
var date = new Date();
var quarter = parseInt(date.getMonth() / 3) + 1;
var quaeternow = quarter;
var tax = (value * checked).toFixed(2);
var discount = 0;
var penalty = 0;
console.log(quaeternow);
if (checked) {
if (checked >= quaeternow) {
//alert('discount');
discount = (tax * .1).toFixed(2);
//penalty = 0;
} else {
//alert('interes');
//discount=0;
penalty = (tax * .02).toFixed(2);

}

$('#div').append('discount ' + discount + '</br>');
$('#div').append('penalty ' + penalty + '</br></br>');
console.log(discount);
console.log(penalty);
}
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<table id='table'>
<tr>
<td>
<center>
<input type="checkbox" value="75" id1="1stqtr" id="9/29/2015" class="quarter">first quarter</center>
</td>
<td>
<center>
<input type="checkbox" value="75" id1="2ndqtr" id="9/29/2015" class="quarter">second quarter</center>
</td>
<td>
<center>
<input type="checkbox" value="75" id1="3rdqtr" id="9/29/2015" class="quarter">third quarter</center>
</td>
<td>
<center>
<input type="checkbox" value="75" id1="4thqtr" id="9/29/2015" class="quarter">fourth quarter</center>
</td>
</tr>
</table>
<div id='div'></div>

最佳答案

据我了解,你可以做类似的事情

var discount = 0;
var penalty = 0;
var quarter = parseInt(new Date().getMonth() / 3) + 1;

$('#table').on('change', 'input.quarter:checkbox', function() {
var cquater = +$(this).attr('id1').match(/^\d+/),
tax = +this.value,
dis,
pen;

if (cquater < quarter) {
pen = tax * .02;
dis = 0;
} else {
dis = tax * .1;
pen = 0;
}
if (this.checked) {
penalty += pen;
discount += dis;
} else {
penalty -= pen;
discount -= dis;
}

$('#div').append('discount ' + discount + '</br>');
$('#div').append('penalty ' + penalty + '</br></br>');
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table id='table'>
<tr>
<td>
<center>
<input type="checkbox" value="75" id1="1stqtr" id="9/29/2015" class="quarter">first quarter</center>
</td>
<td>
<center>
<input type="checkbox" value="75" id1="2ndqtr" id="9/29/2015" class="quarter">second quarter</center>
</td>
<td>
<center>
<input type="checkbox" value="75" id1="3rdqtr" id="9/29/2015" class="quarter">third quarter</center>
</td>
<td>
<center>
<input type="checkbox" value="75" id1="4thqtr" id="9/29/2015" class="quarter">fourth quarter</center>
</td>
</tr>
</table>
<div id='div'></div>

关于javascript - 复选框更改事件记录罚款或折扣jquery,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32843240/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com