如何从小册子中获得组合框的价值

时间:2016-03-09 05:37:06

标签: javascript combobox leaflet

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。

我认为这是一个微不足道的问题,但我有一个问题..

1 个答案:

答案 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);
});
  1. 您尝试使用选择 你可能试图通过标签名称来获取价值。因为你必须

    $('select').change(function(){
            var x=document.getElementsByTagName("select")[0].value;
            alert(x);
        }); 
    
  2. 注意:getElementsByTagName返回一个结果数组,因此如果页面中有多个select并且难以维护,则必须保持索引正确。所以尝试其他选择。