Member 3564076 Ответов: 1

Как вызвать функцию javascript из цикла HTML...


{% for research in orders %}

     <script>

      var data1 = {{ research.pressReleases}};
     <script>Members1(data1);</script>;



  {% endfor %}
function Members1(data) {
    

      var keys = [];

      document.write("<table style='text-transform:uppercase' border==\"0\"><tr>");
      for (key in data[0]) {
       
        if (key != 'id') {
          document.write('<td style="background-color: #bde9ba;">' + key + '</td>');
        }

      }
      document.write("</tr>");
      for (var i = 0; i < data.length; i++) {
        document.write('<tr>');
        for (key in data[i]) {
          if (key != 'id') {
            if (key == 'url') {
              document.write('<td><a href="' + data[i][key] + '">' + data[i][key] + '</a></td>');
            }
            else if (key == 'headline') {

              document.write('<td>' + data[i][key].text + '</td>');
            }
            else {
              document.write('<td>' + data[i][key] + '</td>');
            }
          }
        }
        document.write('</tr>');
      }
      document.write("</table>");

    }
    
   //-commented-- Members1(data1);


Что я уже пробовал:

Я попробовал передать значения из функции и объявить глобальную переменную

1 Ответов

Рейтинг:
2

MadMyche

HTML на самом деле это язык разметки, который принимается как статический контент и отображается в соответствии с разметкой внутри него. Это не язык программирования и не имеет циклов как таковых.

Если вы используете динамическую страницу, заполненную какой-либо серверной технологией (ASP.NET, PHP и т. д.), то весь HTML генерируется на сервере, поэтому клиентский javascript не будет отображаться для каждого элемента.
Лучшим вариантом в этом случае было бы просто визуализировать контент с помощью той же серверной технологии, что-то вроде этого псевдокода

<% foreach (research r in orders) { %>
	<table><tr>
<%		foreach (key k in r) {
			if ( k!= "id" ) { %>
				<td><%=k%></td>
			<%}
		}
%>	</tr>

Если ваши данные поступают с помощью метода AJAX/Javascript, то вы должны вызвать свою функцию из возвращаемой части javascript вашего метода сбора данных


F-ES Sitecore

Я думаю, что он использует шаблонный фреймворк (Django?), он просто не упомянул об этом в тегах

Member 3564076

Да, правильно это Django framework , где пытаются вызвать из html в javascript функцию, в которой функция пытается передать параметр из html... как это можно сделать? итерация-это всего лишь одна итерация для строки или значения.

MadMyche

Возможно, вы захотите взглянуть на Встроенный Django Цикл[^] функциональность

Member 3564076

Это уже есть в моем коде, внутри цикла я хотел передать значение тегу, чтобы это значение(данные json) можно было разобрать и создать в виде табличного формата на HTML-странице.... есть какая-нибудь помощь по этому поводу ?