如何通过单选按钮/选择框值对div进行着色

时间:2014-10-17 15:09:55

标签: jquery checkbox radio

我在这里有以下情况......

3个复选框(123) 1选择框 和1个额外的复选框(4)

$("#checkbox8").change(function(){
setCheckbox();
});

$("#selecti").change(function(){
setCheckbox();
});

var setCheckbox = function() {
if ($('#selecti').val() == "501 - 1000" || $('#checkbox8').is(':checked'))
{
    if (!$('#lastcheck').is(':checked'))
    {
        $('#lastcheck').click();
    }        
    $("#lastcheckdiv").attr("style","background-color:red");
}
else
{
    $('#lastcheckdiv').removeAttr("style");
}

};

Demo

我希望如果选中某个复选框或某个复选框中的某个值,则另一个特定复选框会显示红色背景。

在我的情况下,当我选中复选框1时,复选框4变为红色。但如果我点击另一个复选框2/3,复选框4保持红色。提前谢谢!

1 个答案:

答案 0 :(得分:0)

您必须在每个Checkbox更改

上调用setCheckbox()函数

更改

$("#checkbox8").change(function() {
setCheckbox();
});

$("input[type=checkbox]").change(function(){
setCheckbox();
});

它会起作用

或者......为了更清洁的解决方案,给每个应该改变背景颜色(1,2,3)的复选框一个特殊的类 - 比如“colorSwitcher”,然后做这样的事情:

$(".colorSwitcher").change(function() {
setCheckbox();
)};

并...... 演示(固定): http://jsfiddle.net/v39j52s0/5/