Получение значения html DOM-элемента в событии нажатия MapQuest Map - PullRequest
0 голосов
/ 11 июля 2019

Я использую MapQuest.Js, чтобы показать карту.Когда пользователь нажимает на карту, я хочу получить широту и долготу, а также значение радио, которое является элементом DOM.

<link type=\"text/css\" rel=\"stylesheet\" href=\"https://api.mqcdn.com/sdk/mapquest-js/v1.3.2/mapquest.css\"/>

<input name="ismarked" type="radio" value="Yes" checked="checked"> Yes
<input name="ismarked" type="radio" value="No"> No
<div id="mapcontainer" name="mapcontainer" class="w-100" style="height:700px">
  <div id="map" name="map" class="w-100 h-100"></div>    
</div>

JavaScript

$(function () {
    var _map;

    $.getScript("https://api.mqcdn.com/sdk/mapquest-js/v1.3.2/mapquest.js", function () {
        renderMap();
    });

    function renderMap() {

        var mapdiv = $("#map")[0];

        L.mapquest.key = 'KEY';

        var myRenderer = L.canvas({ padding: 0.5 });

        _map = L.mapquest.map(mapdiv, {
            center: [35, -84],
            layers: L.mapquest.tileLayer('hybrid'),
            zoom: 4,
            renderer: myRenderer
        }).on('click', function (e) {
            $("#radiovalue").val($("input[name='ismarked']").val());
            $("#latlong").val(e.latlng.lat+","+e.latlng.lng);
        });
    }
});

ВЫПУСК
При щелчке по карте я получаю правильные значения широты и долготы,однако значение радио всегда возвращает «Да», даже если я выбрал «Нет».

1 Ответ

1 голос
/ 11 июля 2019

Проблема в $("input[name='ismarked']").val() всегда будет возвращать значение первого радио

Вы хотите отметить, поэтому добавьте к нему селектор :checked

$("#radiovalue").val($("input[name='ismarked']:checked").val());
...