Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在页面加载和显示输出时选中复选框_Javascript_Jquery - Fatal编程技术网

Javascript 在页面加载和显示输出时选中复选框

Javascript 在页面加载和显示输出时选中复选框,javascript,jquery,Javascript,Jquery,下面是我的工作代码,但唯一的问题是,我希望在默认情况下选中该复选框,并在页面加载时显示jquery输出,但它仅在我重新选中该复选框时显示输出 $(函数(){ $defaultValue=$('.total').val(); $(“输入[类型=复选框]”)。单击(函数(事件){ var合计=0; $(“输入:选中”)。每个(函数(){ total+=parseInt($(this).parent().find('.inv total').text().substring(1)); }); 如果(

下面是我的工作代码,但唯一的问题是,我希望在默认情况下选中该复选框,并在页面加载时显示jquery输出,但它仅在我重新选中该复选框时显示输出

$(函数(){
$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);
    }
}