【发布时间】:2015-10-07 21:34:13
【问题描述】:
查看下方更新
首先,感谢您的帮助!我陷入困境并将头撞到墙上,因为我对 JS 真的很陌生,无法弄清楚这一点。
基本上,我有一个投票最多允许选中 3 个复选框。复选框不可见,但被隐藏,我正在使用图像进行选择。输出布局如下:
<div id="options">
<div class="option">
<div class="overlay"></div>
<input type="checkbox" id="rank-answer-#" class="mycheckbox" />
<img src"..." />
</div>
...more <div class="options"> repeating with same format...
</div>
我想要做的是当用户选择第一个选项时,覆盖 DIV 填充 1,当他们选择第二个时,该选项的覆盖 div 填充 2,依此类推第四个选项。这是我目前所拥有的:
jQuery(document).ready(function($) {
jQuery(".mycheckbox").click(function(){
if(jQuery(this).is(':checked')) {
var overlaydiv = jQuery(this).prev().attr("class");
jQuery('.' + overlaydiv).html(#);
}
});
});
这就是我所拥有的。我真的不知道从那里去哪里。再次感谢您的帮助!
已编辑:通过 Disha V. 的建议。
已编辑(更新):
所以,我已经改变了结构和 jQuery,并且有点接近了,但我无法做到这一点。就结构而言,这是我所拥有的。
<div class="option">
<div class="overlay"></div>
<input type="checkbox" name="checkform" class="oneselect1" />
</div>
<div class="option">
<div class="overlay"></div>
<input type="checkbox" name="checkform" class="oneselect1" />
</div>
<div class="option">
<div class="overlay"></div>
<input type="checkbox" name="checkform" class="oneselect1" />
</div>
这是我拥有的 jQuery:
jQuery(function($){
$('.oneselect1').change(function(){
if(this.checked) {
$(this).addClass('checked1');
$(this).removeClass('oneselect1');
$('.oneselect1').addClass('twoselect2');
$('.twoselect2').removeClass('oneselect1');
}
});
});
jQuery(function($){
$('.twoselect2').change(function(){
if(this.checked) {
$(this).addClass('checked2');
$(this).removeClass('twoselect2');
$(this).removeClass('checked1');
$('.twoselect2').addClass('threeselect3');
$('.threeselect3').removeClass('twoselect2');
}
});
});
jQuery(function($){
$('.threeselect3').change(function(){
if(this.checked) {
$(this).addClass('checked3');
$(this).removeClass('threeselect3');
$(this).removeClass('checked2');
$('.threeselect3').addClass('noselect');
$('.noselect').removeClass('threeselect3');
}
});
});
当我选中第一个框时,一切都正确更改。当我选中第二个框时,没有任何变化,除了 checkbox1 也添加到了第二个复选框。如果我将它们相互嵌套,它会正常运行,直到我取消选中其中一个。你可以看到 JSFiddle HERE。你可以看到它嵌套了HERE。
如您所见,我可以删除添加的其他类,但是当我取消选中时,它变得非常混乱。请帮忙!
【问题讨论】: