Передача значения на входе
Я использую API Яндекса для подсчета расстояния и цены поездки из пункта А в пункт Б. Вы можете попробовать себя, нажав 2 раза в разных частях карты в моем примере: http://jsfiddle.net/EveGeen/wor9afo0/
ymaps.route([start, finish]).then(function (router) {
var distance = Math.round(router.getLength() / 1000),
message = '<span>Distance: ' + distance + 'km.</span><br/>' +
'<span style="font-weight: bold; font-style: italic">Price: %sр.</span>';
self._route = router.getPaths();
self._route.options.set({ strokeWidth: 5, strokeColor: '0000ffff', opacity: 0.5 });
self._map.geoObjects.add(self._route);
self._start.properties.set('balloonContentBody', startBalloon + message.replace('%s', self.calculate(distance)));
self._finish.properties.set('balloonContentBody', finishBalloon + message.replace('%s', self.calculate(distance)));
});
Вы увидите, что после установки A, B вы можете нажать на любую из этих букв, и она покажет расстояние и цену.
Как я могу передать эти два значения (расстояние и цена, строки 127-128) в два моих ввода сверху? Мне нужны только цифры без текста.
2 ответа
Решение
Добавьте идентификатор к элементам ввода:
<label>Distance:</label>
<input id="dist" type="text" size="40" name="dist">
<br>
<label>Price:</label>
<input id="price" type="text" size="40" name="price">
и добавить их установить их значение в route
событие таким образом:
document.getElementById("dist").value = distance; // distance here
document.getElementById("price").value = self.calculate(distance);// price here
Вам необходимо установить значение входных элементов в route
событие:
ymaps.route([start, finish])
.then(function (router) {
var distance = Math.round(router.getLength() / 1000),
message = '<span>Distance: ' + distance + 'km.</span><br/>' +
'<span style="font-weight: bold; font-style: italic">Price: %sр.</span>';
self._route = router.getPaths();
self._route.options.set({
strokeWidth: 5,
strokeColor: '0000ffff',
opacity: 0.5
});
self._map.geoObjects.add(self._route);
self._start.properties.set('balloonContentBody', startBalloon + message.replace('%s', self.calculate(distance)));
self._finish.properties.set('balloonContentBody', finishBalloon + message.replace('%s', self.calculate(distance)));
document.getElementById("dist").value = distance; // distance here
document.getElementById("price").value = self.calculate(distance);// price here
});
РАБОЧАЯ ДЕМО:
document.querySelectorAll("input[name='dist']")[0].value = distance; // distance
document.querySelectorAll("input[name='price']")[0].value = self.calculate(distance) // price