传单中带有自定义控件的配置表单
Configuration form with a custom control in leaflet
我正在尝试使用传单创建自定义控件;在这里你可以看到 jsfiddle:https://jsfiddle.net/1tca13f3/
当用户点击提交按钮时,我需要从下拉列表和文本字段中读取值。
这个...
L.DomEvent.on(this._container, 'click', this._doSomething, this);
...正如所料,行不通..而且我无法从输入字段中读取值。我怎样才能做到这一点?
您遇到的主要问题是您只是在 _doSomething()
函数中提醒字符串 'clicked'。你需要查找所有的值,然后你可以用这些值做任何你想做的事。这里有一些快速代码,至少可以让您朝着正确的方向前进。
_doSomething: function(event){
if(event.target.className === 'leaflet-control-opt-submit') {
var select = document.querySelector('.leaflet-control-opt-dropdown');
var input = document.querySelector('.leaflet-control-opt-input');
console.log(select.value, input.value)
}
}
它首先检查以确保 event.target 是提交按钮,如果它是,它会从输入中查找值,现在我们只是 console.log() 他们你可以做任何你想做的事想从那时起有了价值观。
我正在尝试使用传单创建自定义控件;在这里你可以看到 jsfiddle:https://jsfiddle.net/1tca13f3/
当用户点击提交按钮时,我需要从下拉列表和文本字段中读取值。
这个...
L.DomEvent.on(this._container, 'click', this._doSomething, this);
...正如所料,行不通..而且我无法从输入字段中读取值。我怎样才能做到这一点?
您遇到的主要问题是您只是在 _doSomething()
函数中提醒字符串 'clicked'。你需要查找所有的值,然后你可以用这些值做任何你想做的事。这里有一些快速代码,至少可以让您朝着正确的方向前进。
_doSomething: function(event){
if(event.target.className === 'leaflet-control-opt-submit') {
var select = document.querySelector('.leaflet-control-opt-dropdown');
var input = document.querySelector('.leaflet-control-opt-input');
console.log(select.value, input.value)
}
}
它首先检查以确保 event.target 是提交按钮,如果它是,它会从输入中查找值,现在我们只是 console.log() 他们你可以做任何你想做的事想从那时起有了价值观。