mvc2 html.textbox из модели, динамически обновляется при перетаскивании маркера перед сохранением - PullRequest
0 голосов
/ 26 сентября 2011

Я пытаюсь заполнить <%: Html.TextBoxFor(model => model.FaveRunLatLng1)%> динамически, когда пользователь перетаскивает маркер вокруг карты.

Мне нужно использовать это значение, поскольку карта инициализируется значением FaveRunLatLng1.Однако когда пользователь перетаскивает маркер, его необходимо обновить, чтобы при нажатии кнопки Save сохранялся самый последний LatLng.Код для маркера находится в Javascript, API карт Google v3.

Должен ли я использовать что-то вроде:

<div class="editor-label">
   <%: Html.TextBoxFor(model => model.FaveRunLatLng1, new {@class = "coords"})%> 
</div>

Это слушатель карт Google для события перетаскивания:

 google.maps.event.addListener(marker, 'drag', function () {
            var point = marker.getPosition(); 
            var lat = point.lat();
            var lng = point.lng();

            coordStr = lat.toString() + ", " + lng.toString();

            document.getElementById("newCoords").value = coordStr;
            map.setCenter(point);
        });

переменная newCoords служит тестом для проверки того, что перетаскиваемый маркер обновляется при перетаскивании.

1 Ответ

0 голосов
/ 26 сентября 2011

Да, вы должны сделать это таким образом. Но вместо использования теста newCoords, просто используйте идентификатор элемента, созданный HtmlHelper, который FaveRunLatLng1:

document.getElementById("FaveRunLatLng1").value = coordStr;

Это означает, что вы будете получать доступ к текстовому полю по идентификатору, а не по классу CSS. Я полагаю, вы указали имя класса coords для доступа к вашему текстовому полю?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...