从Leaflet弹出窗口中的复选框访问功能

时间:2018-10-29 01:57:16

标签: javascript leaflet leaflet.draw

我正在制作传单,并且正在使用Leaflet PM plugin

绘制多边形

完成绘图后,我将运行以下事件

mymap.on('pm:create', function(e) {
    var strPopup = '<input type="checkbox" id="cbx1" class="cbx" name="objects" value="eraser">';
    strPopup += '<input type="checkbox" id="cbx2" class="cbx" name="objects" value="pencil">';
    strPopup += '<button id="btnSave" class="btn" onclick="foundObjects()" >Save</button>';
    e.layer.bindPopup(strPopup);
    e.layer.openPopup();
}

因此,当用户单击“保存”按钮时,我正在尝试使用jQuery读取复选框的值:

function foundObjects(){
    console.log( $('#cbx1').attr('checked'))
    console.log( $('#cbx2').attr('value'))
}

但是,两个结果在控制台中均显示为“未定义”。有人暗示,为什么会发生?

2 个答案:

答案 0 :(得分:1)

我遇到了同样的问题,我能够使用纯JavaScript来解决它

function check() {
    document.getElementById("myCheck").checked = true;
}

function uncheck() {
    document.getElementById("myCheck").checked = false;
}

答案 1 :(得分:0)

据我所知,您需要使用.prop("checked")而不是.attr("checked")