Автовставка переменных в html шаблон

Тема в разделе "JavaScript", создана пользователем dandandan, 16 дек 2011.

Модераторы: ZiX
  1. dandandan

    dandandan

    Регистр.:
    7 авг 2008
    Сообщения:
    990
    Симпатии:
    267
    Есть html шаблон, например:
    var data - переменная java script.

    Можно ли сделать так, чтобы при изменении параметра data в html шаблоне данные обновлялись автоматически ?

    p.s. В шаблоне более 1000 таких изменющихся параметров data. Не хотелось бы обращаться к ним через getElementByID.
     
  2. mdss

    mdss ♖♘♗♕♔♗♘♖

    Moderator
    Регистр.:
    20 фев 2007
    Сообщения:
    1.130
    Симпатии:
    668
    на jquery


    Код:
    <div class="test"></div>
    <script>
    var data = 'your data'
    $('.test').text(data);
    </script>
     
  3. dandandan

    dandandan

    Регистр.:
    7 авг 2008
    Сообщения:
    990
    Симпатии:
    267
    К сожалению, на автомате заменить таким образом 1000 переменных не получится. Нужно будет создавать функцию и ее вызывать.
     
  4. mdss

    mdss ♖♘♗♕♔♗♘♖

    Moderator
    Регистр.:
    20 фев 2007
    Сообщения:
    1.130
    Симпатии:
    668
    покажи в каком виде сейчас. Не зная этого сложно что-то придумать
     
  5. d3mon4eg

    d3mon4eg Писатель

    Регистр.:
    19 ноя 2011
    Сообщения:
    1
    Симпатии:
    0
    Используй регулярные выражения. Это микроязык для поиска и замены в тексте
     
  6. Ramazan

    Ramazan пыщ-пыщ

    Регистр.:
    28 янв 2007
    Сообщения:
    471
    Симпатии:
    98
    Вам нужно, чтобы автоматом обновлялся контент, если изменена переменная data? Если да, то в функции где меняется эта переменная пропишите пример, который указал mdss
     
  7. dandandan

    dandandan

    Регистр.:
    7 авг 2008
    Сообщения:
    990
    Симпатии:
    267
    PHP:
    var template=
    '<div class="test">'+data5+'</div>'+
    '<div class="test">'+data4+'</div>'+
    '<div class="test">'+data3+'</div>'+
    '<div class="test">'+data2+'</div>'+
    '<div class="test">'+data1+'</div>';
    Сейчас 1000 вот таких элементов div и 1000 элементов data. Весь этот шаблон хранится в переменной template.
    Нужно при изменении любого из параметров data обновить шаблон. Параметры data изменяются при вводе данных в input, textarea, при клике на кнопку, при установке чекбокса. Все параметры data - глобальные.
    Есть идея копать в сторону eval() ; Но почему-то кажется, что слишком напряжно будет для браузера.
     
  8. Ramazan

    Ramazan пыщ-пыщ

    Регистр.:
    28 янв 2007
    Сообщения:
    471
    Симпатии:
    98
    PHP:
    var template '',
        
    i        0;
     
    for(; 
    <= 1000++) {
        
    template += '<div class="test">' + eval('data' i) + '</div>';
    }
    конечно лучше, если бы переменная data была массивом, тогда соответственно вместо eval('data' + i) подставляете data[ i ]
     
    dandandan нравится это.