我有一定数量的复选框列表。
<input type="checkbox" name="subject1" value="course_id" amount_t="amount" class="amount" />
<input type="checkbox" name="subject2" value="course_id" amount_t="amount" class="amount" />
<input type="checkbox" name="subject3" value="course_id" amount_t="amount" class="amount" />
<input type="checkbox" name="subject4" value="course_id" amount_t="amount" class="amount" />
$(document).ready(function() {
$(".amount").change(function() {
if (($(this).is(':checked'))) {
var res;
var val1 = parseInt($(this).attr("amount_t"));
var val2 = $("#amount").attr("value");
console.log('value1', val1);
console.log('value2', val2);
res = val2.slice(-4);
res = parseInt(res);
var val3 = 'Amount : $ ';
var val4 = val1 + res;
var val = val3 + val4;
$("#amount").val(val);
} else {
var res;
var val1 = parseInt($(this).attr("amount_t"));
var val2 = $("#amount").attr("value");
console.log('value1', val1);
console.log('value2', val2);
res = val2.slice(-4);
res = parseInt(res);
var val3 = 'Amount : $ ';
var val4 = res - val1;
var val = val3 + val4;
$("#amount").val(val);
}
});
});
<input type="text" name="amount" id="amount" class="form-control frm" value="Amount : $ 0000" disabled>
金额应不能由用户更改。
它在第一次选择时工作得很好,之后它就会显示出类似于初始选择。你能帮帮我吗。
发布于 2016-09-24 08:06:07
如果我正确理解了您的代码,您希望显示与每个复选框相对应的金额总和。除非您有很好的理由不这样做,否则应该在value属性中保留复选框值。
$(document).ready(function() {
var checkboxes = $(".amount");
var amountSpan = $('#amount');
checkboxes.change(function() {
var sum = 0;
checkboxes.each(function(index, checkbox) {
if (checkbox.checked)
sum += parseInt(checkbox.value);
});
amountSpan.text(sum);
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
$10 <input type="checkbox" name="subject1" value="10" class="amount" />
$20 <input type="checkbox" name="subject2" value="20" class="amount" />
$30 <input type="checkbox" name="subject3" value="30" class="amount" />
$40 <input type="checkbox" name="subject4" value="40" class="amount" />
<div>
<span>Amount $:</span> <span id="amount">0</span>
</div>
https://stackoverflow.com/questions/39673521
复制相似问题