我是jquery的菜鸟(对于“noob”我的意思是“我几个小时前开始使用jquery”)。我想要做的很简单:选中复选框时为变量添加值,如果未选中复选框,则恢复同一变量的先前值。该值必须写在文档的范围内。我写的代码有两个问题:
1-取消选中复选框时,不会恢复该值;
2-我希望值始终显示在文档中,即使是在页面的第一次加载时我也根本不知道如何执行此操作(现在它出现在第一次单击之后,因为它写在如果条件)
这是剧本:它出了什么问题?
<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>
这是HTML:
<input id="mat1" type="checkbox" /> <span id="perk1"></span>
答案 0 :(得分:1)
您必须更新选中或取消选中的范围。 你的代码看起来像这样:
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:http://jsfiddle.net/eHasK/2/
答案 1 :(得分:1)
所以,你要做两件事:
见下文:
<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>
您可能也对数据绑定框架感兴趣,例如:敲除