从 https://github.com/Leaflet/Leaflet/issues/936 我做 : http://jsfiddle.net/nFLc3/3/
var legend = L.control({position: 'topright'});
legend.onAdd = function (map) {
var div = L.DomUtil.create('div', 'info legend');
div.innerHTML = '<select><option>1</option><option>2</option><option>3</option></select>';
div.firstChild.onmousedown = div.firstChild.ondblclick = L.DomEvent.stopPropagation;
return div;
};
legend.addTo(map);
$('select').change(function(){
alert('changed');
});
如何从组合框中获取值选择值。 我试着像:
$('select').change(function(){
var x=document.getElementById("select");
alert(x);
});
但它返回null。
我认为这是一个微不足道的问题,但我有一个问题..
答案 0 :(得分:2)
在第一个代码段中使用
$('select').change(function(){
alert(this.value);
});
如果您难以维护此变量,并尝试使用第二个代码段(直接从元素获取值)....
根据假设 1.您尝试使用 getElementById 为此,你必须给你的选择一个id
div.innerHTML = '<select id="mySelect"><option>1</option><option>2</option><option>3</option></select>';
并在检索时
$('select').change(function(){
var x=document.getElementById("mySelect").value;
alert(x);
});
您尝试使用选择 你可能试图通过标签名称来获取价值。因为你必须
$('select').change(function(){
var x=document.getElementsByTagName("select")[0].value;
alert(x);
});
注意:getElementsByTagName返回一个结果数组,因此如果页面中有多个select并且难以维护,则必须保持索引正确。所以尝试其他选择。