Javascript 在页面加载和显示输出时选中复选框
下面是我的工作代码,但唯一的问题是,我希望在默认情况下选中该复选框,并在页面加载时显示jquery输出,但它仅在我重新选中该复选框时显示输出Javascript 在页面加载和显示输出时选中复选框,javascript,jquery,Javascript,Jquery,下面是我的工作代码,但唯一的问题是,我希望在默认情况下选中该复选框,并在页面加载时显示jquery输出,但它仅在我重新选中该复选框时显示输出 $(函数(){ $defaultValue=$('.total').val(); $(“输入[类型=复选框]”)。单击(函数(事件){ var合计=0; $(“输入:选中”)。每个(函数(){ total+=parseInt($(this).parent().find('.inv total').text().substring(1)); }); 如果(
$(函数(){
$defaultValue=$('.total').val();
$(“输入[类型=复选框]”)。单击(函数(事件){
var合计=0;
$(“输入:选中”)。每个(函数(){
total+=parseInt($(this).parent().find('.inv total').text().substring(1));
});
如果(总计==0){
$('.total').val($defaultValue);
}否则{
$('.total').val('$'+total);
}
});
})
$100
很简单,只需从复选框中删除checked=checked,然后使用jquery调用单击复选框
<div class="invoice">
<input type="checkbox" value="1" />
<span class="inv-total">$100</span>
</div>
$(function () {
$defaultValue = $('.total').val();
$("input[type=checkbox]").change(function (event) {
var total = 0;
$("input:checked").each(function () {
total += parseInt($(this).parent().find('.inv-total').text().substring(1));
});
if (total == 0) {
$('.total').val($defaultValue);
} else {
$('.total').val('$' + total);
}
});
//Call the click on checkbox
$("input[type=checkbox]").click();
})
$100
$(函数(){
$defaultValue=$('.total').val();
$(“输入[type=checkbox]”)。更改(函数(事件){
var合计=0;
$(“输入:选中”)。每个(函数(){
total+=parseInt($(this).parent().find('.inv total').text().substring(1));
});
如果(总计==0){
$('.total').val($defaultValue);
}否则{
$('.total').val('$'+total);
}
});
//调用单击复选框
$(“输入[类型=复选框]”)。单击();
})
工作小提琴:您可以在单击事件时设置输入值。您需要在
$(document).ready()中设置它。尝试将脚本更改为:
$(document).ready(function (){
setValue();
$("input[type=checkbox]").click(function(event) {
setValue();
});
});
function setValue()
{
$defaultValue = $('.total').val();
var total = 0;
$("input:checked").each(function() {
total += parseInt($(this).parent().find('.inv-total').text().substring(1));
});
if (total == 0) {
$('.total').val($defaultValue);
}
else {
$('.total').val('$' + total);
}
}
好啊但“jquery-1.8.0.min.js”不起作用。我将要使用上面代码的页面有“jquery-1.8.0.min.js”,我无法更改它,它会干扰另一个内容。我在这里更改一下:现在它可以使用jquery 1.8.0或更低版本。
$(document).ready(function (){
setValue();
$("input[type=checkbox]").click(function(event) {
setValue();
});
});
function setValue()
{
$defaultValue = $('.total').val();
var total = 0;
$("input:checked").each(function() {
total += parseInt($(this).parent().find('.inv-total').text().substring(1));
});
if (total == 0) {
$('.total').val($defaultValue);
}
else {
$('.total').val('$' + total);
}
}