Javascript 如果选中该复选框,则添加样式

Javascript 如果选中该复选框,则添加样式,javascript,jquery,Javascript,Jquery,如果复选框被选中,我将尝试添加填充颜色,然后在复选框未被选中时删除颜色。需要能够同时选中多个复选框 到目前为止,我只能在路径->样式中添加颜色,但无法在复选框未选中时删除它 到目前为止,这就是我所拥有的: <form id="mapform" action=""> <input type="checkbox" name="color" value="blue"> blue<br> <input type="checkbox" name="

如果复选框被选中,我将尝试添加填充颜色,然后在复选框未被选中时删除颜色。需要能够同时选中多个复选框

到目前为止,我只能在路径->样式中添加颜色,但无法在复选框未选中时删除它

到目前为止,这就是我所拥有的:

<form id="mapform" action="">
    <input type="checkbox" name="color" value="blue"> blue<br>
    <input type="checkbox" name="color" value="green"> green<br>
    <input type="checkbox" name="color" value="yellow" > yellow<br>
    <input type="checkbox" name="color" value="red" > red<br>
</form> 

<a class="color" xlink:href="#"> 
   <path color="blue" style="enable-background:accumulate;color:#000000;" d="m1847.9,1886.3,24.914-1.9938,2.9897,46.856-25.911,0-8.969-28.912z" fill-rule="nonzero" stroke-dashoffset="0"/>
</a>

<a class="color" xlink:href="#"> 
   <path color="green" style="enable-background:accumulate;color:#000000;" d="m1847.9,1886.3,24.914-1.9938,2.9897,46.856-25.911,0-8.969-28.912z" fill-rule="nonzero" stroke-dashoffset="0"/>
</a>

<a class="color" xlink:href="#"> 
   <path color="yellow" style="enable-background:accumulate;color:#000000;" d="m1847.9,1886.3,24.914-1.9938,2.9897,46.856-25.911,0-8.969-28.912z" fill-rule="nonzero" stroke-dashoffset="0"/>
</a>

<a class="color" xlink:href="#"> 
   <path color="red" style="enable-background:accumulate;color:#000000;" d="m1847.9,1886.3,24.914-1.9938,2.9897,46.856-25.911,0-8.969-28.912z" fill-rule="nonzero" stroke-dashoffset="0"/>
</a>

当复选框未选中时,您的代码现在的状态将不会有任何值,选择器将与之不匹配。试试这样的

$(document).ready(function(){
    $("#mapform input").change(function(){   
        var checkedColor = $(this).val();
        var checked = $(this).prop("checked");
        if(checked)
        {
            $("path[color="+ checkedColor +"]").css("fill","#008fff");
        }
        else
        {
            $("path[color="+checkedColor+"]").css("fill","#595a5c");
        }
    });
});

当复选框未选中时,您的代码现在的状态将不会有任何值,选择器将与之不匹配。试试这样的

$(document).ready(function(){
    $("#mapform input").change(function(){   
        var checkedColor = $(this).val();
        var checked = $(this).prop("checked");
        if(checked)
        {
            $("path[color="+ checkedColor +"]").css("fill","#008fff");
        }
        else
        {
            $("path[color="+checkedColor+"]").css("fill","#595a5c");
        }
    });
});

当复选框未选中时,您的代码现在的状态将不会有任何值,选择器将与之不匹配。试试这样的

$(document).ready(function(){
    $("#mapform input").change(function(){   
        var checkedColor = $(this).val();
        var checked = $(this).prop("checked");
        if(checked)
        {
            $("path[color="+ checkedColor +"]").css("fill","#008fff");
        }
        else
        {
            $("path[color="+checkedColor+"]").css("fill","#595a5c");
        }
    });
});

当复选框未选中时,您的代码现在的状态将不会有任何值,选择器将与之不匹配。试试这样的

$(document).ready(function(){
    $("#mapform input").change(function(){   
        var checkedColor = $(this).val();
        var checked = $(this).prop("checked");
        if(checked)
        {
            $("path[color="+ checkedColor +"]").css("fill","#008fff");
        }
        else
        {
            $("path[color="+checkedColor+"]").css("fill","#595a5c");
        }
    });
});
添加到@amura.cxgs回答并回答您的后续问题

是的,有可能出现“反向”行为。
您需要连接锚定的
单击
事件

$('#映射表单输入')。更改(函数(){
var checkedColor=$(this.val();
var checked=$(this.prop('checked');
$('path[color*='+checkedColor+']')。css('fill',checked?checkedColor:'#595a5c');
});
$('a.color')。在('click',function()上{
var checkedColor=$('path',this.attr('color');
var checked=$('#映射表单输入[value*=“'+checkedColor+'''']).prop('checked');
$('#mapform input[value*=“'+checkedColor+'“]')。prop('checked',!checked);
$('path[color*='+checkedColor+']')。css('fill',!checked?checkedColor:'#595a5c');
});

蓝色

绿色
黄色的
红色
添加到@amura.cxgs回答并回答您的后续问题

是的,有可能出现“反向”行为。
您需要连接锚定的
单击
事件

$('#映射表单输入')。更改(函数(){
var checkedColor=$(this.val();
var checked=$(this.prop('checked');
$('path[color*='+checkedColor+']')。css('fill',checked?checkedColor:'#595a5c');
});
$('a.color')。在('click',function()上{
var checkedColor=$('path',this.attr('color');
var checked=$('#映射表单输入[value*=“'+checkedColor+'''']).prop('checked');
$('#mapform input[value*=“'+checkedColor+'“]')。prop('checked',!checked);
$('path[color*='+checkedColor+']')。css('fill',!checked?checkedColor:'#595a5c');
});

蓝色

绿色
黄色的
红色
添加到@amura.cxgs回答并回答您的后续问题

是的,有可能出现“反向”行为。
您需要连接锚定的
单击
事件

$('#映射表单输入')。更改(函数(){
var checkedColor=$(this.val();
var checked=$(this.prop('checked');
$('path[color*='+checkedColor+']')。css('fill',checked?checkedColor:'#595a5c');
});
$('a.color')。在('click',function()上{
var checkedColor=$('path',this.attr('color');
var checked=$('#映射表单输入[value*=“'+checkedColor+'''']).prop('checked');
$('#mapform input[value*=“'+checkedColor+'“]')。prop('checked',!checked);
$('path[color*='+checkedColor+']')。css('fill',!checked?checkedColor:'#595a5c');
});

蓝色

绿色
黄色的
红色
添加到@amura.cxgs回答并回答您的后续问题

是的,有可能出现“反向”行为。
您需要连接锚定的
单击
事件

$('#映射表单输入')。更改(函数(){
var checkedColor=$(this.val();
var checked=$(this.prop('checked');
$('path[color*='+checkedColor+']')。css('fill',checked?checkedColor:'#595a5c');
});
$('a.color')。在('click',function()上{
var checkedColor=$('path',this.attr('color');
var checked=$('#映射表单输入[value*=“'+checkedColor+'''']).prop('checked');
$('#mapform input[value*=“'+checkedColor+'“]')。prop('checked',!checked);
$('path[color*='+checkedColor+']')。css('fill',!checked?checkedColor:'#595a5c');
});

蓝色

绿色
黄色的
红色

元素不属于
元素吗?是的,元素不属于
元素吗?是的,元素不属于
元素吗?是的,元素不属于
元素吗?是的,元素不属于
元素吗?是的,元素不属于
元素吗?是的如果可以反转该功能,则假设我单击a.color并选中了应用于该功能的复选框?是否可以反转该功能,假设我单击a.color并选中了应用于该功能的复选框?是否可以反转该功能,假设我点击a.color,复选框已选中应用于它?是否可以反转该功能,假设我点击a.color,复选框已选中应用于它?谢谢,它几乎可以工作,当我点击路径时,颜色在路径中不保持选中状态。如果未选中,我如何使颜色成为默认颜色?谢谢,它几乎可以工作,当我单击路径时,颜色在路径中不保持选中状态。当我未选择时,我如何使颜色成为默认颜色?谢谢,它几乎可以工作,当我单击路径时,颜色在路径中不保持选中状态。当我未选择时,我如何使颜色成为默认颜色?谢谢,它几乎可以工作,单击路径时,颜色不会在路径中保持选中状态。未选中时,如何使颜色成为默认颜色?