Подскажите пожалуйста как сделать такое:
Открываешь Placemark в нем кнопка выбрать, после ее нажатия на странице нужно перезаписать значение поля.
...
balloonContentFooter: '<button type="button" class="selectSalon" data-name="Название блауна" data-coord="59.324х23.323423">Выбрать</button>'
...
Слушать нажатие через jQuery явно не получится:
$('.selectSalon').on('click', function(){
console.log('enter');
console.log(this.data('name'));
});
Да и стили кнопке не поставишь.
Как быть?
Попробуйте так:
ymaps.ready(init);
function init () {
var map = new ymaps.Map('map', {
center: [55.650625, 37.62708],
zoom: 10
}, {
searchControlProvider: 'yandex#search'
}),
counter = 0,
// Создание макета содержимого балуна.
// Макет создается с помощью фабрики макетов с помощью текстового шаблона.
BalloonContentLayout = ymaps.templateLayoutFactory.createClass(
'<div style="margin: 10px;">' +
'<b>{{properties.name}}</b><br />' +
'<i id="count"></i> ' +
'<button id="counter-button"> +1 </button>' +
'</div>', {
// Переопределяем функцию build, чтобы при создании макета начинать
// слушать событие click на кнопке-счетчике.
build: function () {
// Сначала вызываем метод build родительского класса.
BalloonContentLayout.superclass.build.call(this);
// А затем выполняем дополнительные действия.
$('#counter-button').bind('click', this.onCounterClick);
$('#count').html(counter);
},
// Аналогично переопределяем функцию clear, чтобы снять
// прослушивание клика при удалении макета с карты.
clear: function () {
// Выполняем действия в обратном порядке - сначала снимаем слушателя,
// а потом вызываем метод clear родительского класса.
$('#counter-button').unbind('click', this.onCounterClick);
BalloonContentLayout.superclass.clear.call(this);
},
onCounterClick: function () {
$('#count').html(++counter);
if (counter == 5) {
alert('Вы славно потрудились.');
counter = 0;
$('#count').html(counter);
}
}
});
var placemark = new ymaps.Placemark([55.650625, 37.62708], {
name: 'Считаем'
}, {
balloonContentLayout: BalloonContentLayout,
// Запретим замену обычного балуна на балун-панель.
// Если не указывать эту опцию, на картах маленького размера откроется балун-панель.
balloonPanelMaxMapArea: 0
});
map.geoObjects.add(placemark);
}
Виртуальный выделенный сервер (VDS) становится отличным выбором
Задача такая: есть форма поиска (поиск обычный, без ajax), и после перезагрузки страницы необходимо пользователя отправить к нужному блоку (скролл...
Есть несколько инпутов с предустановленными значениями(берутся из БД):
Нужно, чтобы человек открыл письмо и в нём посмотрел Youtube видеоHTML-код для встраивания видео от Youtube в теле письма не работает