Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/9.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
Javascript 在开关盒中取消选中并选中复选框_Javascript_Jquery_Html_Checkbox_Leaflet - Fatal编程技术网

Javascript 在开关盒中取消选中并选中复选框

Javascript 在开关盒中取消选中并选中复选框,javascript,jquery,html,checkbox,leaflet,Javascript,Jquery,Html,Checkbox,Leaflet,当复选框被选中或取消选中时,我希望图标显示或取消显示。下面我将展示图标url路径的外观。我有办法做到吗?我一直在尝试将这段代码添加到switch案例中,但我是js&jquery的初学者,不知道自己做错了什么 $('#someId').change(function() { if(this.checked) { $(icon = greenIcon).show(1); } else {

当复选框被选中或取消选中时,我希望图标显示或取消显示。下面我将展示图标url路径的外观。我有办法做到吗?我一直在尝试将这段代码添加到switch案例中,但我是js&jquery的初学者,不知道自己做错了什么

$('#someId').change(function()  {

        if(this.checked)    {
            $(icon = greenIcon).show(1);
        }
        else    {
            $(icon = greenIcon).hide(1);
        }

    });

    $('#someId2').click(function()  {

        if(this.checked)    {
            $(icon = yellowIcon).show(1);
        }
        else    {
            $(icon = yellowIcon).hide(1);
        }

    });

    $('#someId3').click(function()  {

        if(this.checked)    {
            $(icon = redIcon).show(1);
        }
        else    {
            $(icon = redIcon).hide(1);
        }

    });

    $('#someId4').click(function()  {

        if(this.checked)    {
            $(icon = blueIcon).show(1);
        }
        else    {
            $(icon = blueIcon).hide(1);
        }

    });
进入这个

switch (feature.properties.status) {
        case 0:   
            icon = greenIcon; break;
        case 1:
        case 11:
        case 12:
            icon = yellowIcon; break;
        case 2: 
        case 21:    
        case 22:    
            icon = redIcon; break;
        case 5: 
        default:
            icon = blueIcon; break;
}
将图标添加到代码中,如下所示:

var greenIcon = new LeafIcon({iconUrl: L.Icon.Default.imagePath + 'marker-icon-ok.png'});
var redIcon = new LeafIcon({iconUrl: L.Icon.Default.imagePath + 'marker-icon-err.png'});
var yellowIcon = new LeafIcon({iconUrl: L.Icon.Default.imagePath + 'marker-icon-warn.png'});
var blueIcon = new LeafIcon({iconUrl: L.Icon.Default.imagePath + 'marker-icon-sleep.png'});

因此,当复选框被选中或取消选中时,图标将显示或取消显示。可能吗?

不使用switch语句怎么样?使用数据属性将使以后添加内容更加容易(在我看来)


图标1
$('[data has icon=“true”]')。单击(函数(事件){
var target_id=$(this).data('iconTarget');
$(target_id).toggleClass('hidden');
}) 

不太确定这是否回答了您的问题,但您可以在输入更改时切换类,并处理css/sass中显示的内容

简单的例子:

$('.checkboxInput').change(function(){
    $(this).parent().toggleClass('showIcon');
    alert('Is the checkbox checked? This is ' + $(this).prop('checked') );
});

如果我理解正确(因为我不熟悉传单等),您想检查“勾选”复选框的
change()
上是否选中了复选框?你想用一个开关来决定显示哪个图标?@Jorrex很抱歉这么晚才回复,我正试图用复选框来隐藏和显示我地图上的图标。这对我来说很难,因为图标是js格式的,而不是html或css格式的。我试图进入他们使用开关盒,但它不会帮助。。。我也有个主意。我将尝试在switch case中创建一个div,但我所有的尝试都失败了。。我真的不知道该怎么办,因为这里所有的答案对我都没有帮助。
$('.checkboxInput').change(function(){
    $(this).parent().toggleClass('showIcon');
    alert('Is the checkbox checked? This is ' + $(this).prop('checked') );
});