Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.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
如果选中复选框,则向变量添加值;如果未选中,则恢复以前的值(jquery)_Jquery_Variables_Checkbox - Fatal编程技术网

如果选中复选框,则向变量添加值;如果未选中,则恢复以前的值(jquery)

如果选中复选框,则向变量添加值;如果未选中,则恢复以前的值(jquery),jquery,variables,checkbox,Jquery,Variables,Checkbox,我是jquery的noob(对于“noob”,我的意思是“我几小时前开始使用jquery”)。我想做的很简单:选中复选框时为变量添加一个值,如果未选中复选框,则恢复同一变量的上一个值。该值必须写入文档的范围内。我写的代码有两个问题: 1-当我取消选中复选框时,该值不会恢复 2-我希望该值始终显示在文档中,即使是在第一次加载页面时,我也不知道如何执行此操作(现在它在第一次单击后显示,因为它写在if条件中) 剧本是这样的:怎么了 <script type="text/javascript"&g

我是jquery的noob(对于“noob”,我的意思是“我几小时前开始使用jquery”)。我想做的很简单:选中复选框时为变量添加一个值,如果未选中复选框,则恢复同一变量的上一个值。该值必须写入文档的范围内。我写的代码有两个问题:

1-当我取消选中复选框时,该值不会恢复

2-我希望该值始终显示在文档中,即使是在第一次加载页面时,我也不知道如何执行此操作(现在它在第一次单击后显示,因为它写在if条件中)

剧本是这样的:怎么了

<script type="text/javascript">
    var pds1=0;
    $(document).ready(function() {
        $("#mat1").click(function() {
            if($('#mat1').is(':checked')) { 
                pds1=pds1+10;
                $('#perk1').html(pds1);
            } 
            else {
                if(pds1>0)
                {
                    pds1=pds1-10;
                }
                else {}
            }
        });
    });
</script>

var-pds1=0;
$(文档).ready(函数(){
$(“#mat1”)。单击(函数(){
如果($('#mat1')。是(':checked'){
pds1=pds1+10;
$('#perk1').html(pds1);
} 
否则{
如果(pds1>0)
{
pds1=pds1-10;
}
else{}
}
});
});
下面是HTML:

<input id="mat1" type="checkbox" /> <span id="perk1"></span>

您必须在选中或未选中量程的任何位置更新量程。 您的代码如下所示:

var pds1 = 0;
$(document).ready(function () {
    $('#perk1').html(pds1);

    $("#mat1").click(function () {
        if ($('#mat1').is(':checked')) 
           pds1 = pds1 + 10;
        else if (pds1 > 0) 
           pds1 = pds1 - 10;
        $('#perk1').html(pds1);
    });
});

jsFiddle:

那么,您需要两件事:

  • 加载页面时显示变量的初始值
  • 取消选中该框时显示更新的值
  • 见下文:

    <script type="text/javascript">
    var pds1=0;
    $(document).ready(function() {
        $('#perk1').html(pds1); // Display initial value on page load
        $("#mat1").click(function() {
            if($('#mat1').is(':checked')) { 
                pds1=pds1+10;
                $('#perk1').html(pds1);
            } else {
            if(pds1>0)
            {
                pds1=pds1-10;
                $('#perk1').html(pds1); // Display updated value on uncheck
            }
            else {}
            }
        });
    });
    </script>
    
    
    var-pds1=0;
    $(文档).ready(函数(){
    $('#perk1').html(pds1);//在页面加载时显示初始值
    $(“#mat1”)。单击(函数(){
    如果($('#mat1')。是(':checked'){
    pds1=pds1+10;
    $('#perk1').html(pds1);
    }否则{
    如果(pds1>0)
    {
    pds1=pds1-10;
    $('#perk1').html(pds1);//取消选中时显示更新的值
    }
    else{}
    }
    });
    });
    
    您可能还对数据绑定框架感兴趣,例如Knockout


    我马上去做。你也知道我第二个问题的答案吗太完美了!再次感谢!比我想象的容易:P