Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > JavaScript, Ajax
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 11.03.2015, 05:49   #1
Bender1000
Пользователь
 
Регистрация: 20.05.2013
Сообщений: 37
Вопрос Обновить содержимое балуна Яндекс.Карты .js

Подскажите, как обновить информацию в балуне? Например. есть 10 балунов, у них есть определенный balloonContent. В этом контенте есть html-input-text и html-input-button. Пользователь вводит информацию в text, и по нажатию на button должен обновляться balloonContent. Сначала я просто пытался сделать это с помощью $('.balloon').html('<p>' + $('.newMark').val() + '</p>'); - где newMark - это input-text, но (1) кнопка эта, находящаяся в балуне, не работает, и (2) если кнопку вынести из балуна в общее содержание страницы, то работает, но обновление контента работает только до того момента, как я держу балун открытым. Если я его закрываю и открываю снова, контент не сохраняется, то есть возвращается тот, который был введён изначально.
Насколько я понял, есть функция map.GeoObjects.optionschange, но не могу разобраться, как с её помощью изменить balloonContent. Помогите, пожалуйста.

HTML:
Код HTML:
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <title>Примеры. Размещение карты на странице.</title>
        <link rel="stylesheet" media="screen" href="main.css">
    </head>
    <body>
...
        <div id="map"></div>
        <button class="changeValue" id="changeValue">Загрузить данные</button>
        <input type="button" id="destroyButton" value="Удалить карту"/>
        <input type="button" id="newMark" value="Новая метка"/>
        <input type="button" id="toArray" value="Узнать массив"/>
        
...
        <script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.0/jquery.min.js" type="text/javascript"></script>

        <script src="//api-maps.yandex.ru/2.1/?lang=ru_RU" type="text/javascript"></script>
        <script src="main.js" type="text/javascript"></script>
        <script src="mapbasics.js" type="text/javascript"></script>
        <script src="jquery.base64.js" type="text/javascript"></script>
Код:
var myMap;
ymaps.ready(init);

function init() {
    myMap = new ymaps.Map('map', {
        center: [59.93, 30.31],
        zoom: 8
    });
    $count = 59.93;
    $count2 = 30.31;
    $list = [];
     );*/
    $('#newMark').click(function () {
        $count = $count + (Math.round(Math.random() * (0.01 - 0.03) + 0.01) / 100);
        $count2 = $count2 + (Math.round(Math.random() * (0.01 - 0.03) + 0.01) / 100);
        $PM = new ymaps.Placemark([$count, $count2], {
            balloonContent: '<h2>Привет!</h2><div class="balloon"></div><input type="text" class="newMark"><input type="button" class="changeValue" value="Загрузить фото">',
            balloonContentSize: [130, 130]
            /*style: balloonStyle*/
        });
        $list.push($PM);
        /*console.log($coords[1], $coords[2]);*/
        myMap.geoObjects.add($PM);
    });

    $('#toArray').click(function () {
        console.log($list);
    });

    $newMark = new ymaps.Placemark([$count, $count2], {/*style: balloonStyle, */content: 'Что-то',
        balloonContentBody:
                '<h2>Привет!</h2><div class="balloon"></div><input type="text" class="newMark" value=""><br/><input type="button" class="newPhoto" value="Залить фото"><br/><button class="changeValue" id="changeValue">Загрузить данные</button>'
    });
    myMap.geoObjects.add($newMark);
    $('.changeValue').click(function () {
         $('.balloon').html('<p>' + $('.newMark').val() + '</p>');
    });
}
10000 часов програмирования - https://vk.com/tth.ikarev
Bender1000 вне форума Ответить с цитированием
Старый 11.03.2015, 07:30   #2
Bender1000
Пользователь
 
Регистрация: 20.05.2013
Сообщений: 37
По умолчанию

Разобрался
10000 часов програмирования - https://vk.com/tth.ikarev
Bender1000 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Яндекс.Карты. Объекты в определённом радиусе Антон Ос Помощь студентам 0 12.04.2013 12:31
Конфликт яндекс карты с другим скриптом erwerwe JavaScript, Ajax 0 18.03.2013 15:22
Яндекс Карты Dexes JavaScript, Ajax 2 30.03.2012 15:06
Яндекс.Карты скругленные углы ki44321 HTML и CSS 12 03.06.2011 00:41
Яндекс карты.Как сделать? kotaina Общие вопросы Delphi 4 13.05.2011 21:00