我有一个包含多个图层的传单地图。我可以为特定图层绘制折线,删除和编辑它们,然后使用jquery ui对话框将一些信息发送到我的postGis数据库。
绘制和删除我的折线没有问题。 我单击地图外部的按钮,可以继续绘制选定图层或从图层中删除折线。
但现在,如何点击地图外的按钮并打开相对于我正在编辑的图层的对话框?
我已尝试在" oneachfeature"上调用我的保存按钮。我的图层,然后当我选择一个图层并单击我的保存按钮时,它首先打开相对于所选图层的对话框,但之后,它还会打开我的其他图层的对话框。
这里有一些代码可以解释我在做什么:
await

答案 0 :(得分:0)
我会建议这样的事情,定义对话框,然后在需要保存操作时进行调整。
工作示例:https://jsfiddle.net/Twisty/f1gvo1h6/
<强> HTML 强>
<div>
<div class="artwork">
</div>
<button id="saveBtn">
Save
</button>
</div>
<div id="saveDialog" title="Save Layer">
<p><span class="ui-icon ui-icon-alert" style="float:left; margin:12px 12px 20px 0;"></span>Do you wish to save the changes to this layer?</p>
</div>
<强>的jQuery 强>
$(function() {
$("#saveDialog").dialog({
autoOpen: false,
resizable: false,
height: "auto",
width: 400,
modal: true
});
$("#saveBtn").click(function() {
// Gather the layer that is being edited
// Create actions and buttons
$("#saveDialog").dialog("option", "buttons", [{
text: "Save",
click: function() {
// Do stuff for the layer save
// layer.disableEdit();
$(this).dialog("close");
}
}, {
text: "Cancel",
click: function() {
$(this).dialog("close");
}
}]);
// Open Save Dialog
$("#saveDialog").dialog("open");
});
});
其中一些来自Modal Confirmation Example。基本上,我们知道在任何图层上都可以调用保存按钮。我们不需要为每个创建一个唯一的对话框。我们可以创建一个,然后根据需要修改按钮。