Невозможно передать переменные jinja2 во фрагмент JavaScript

Нет, это невозможно, так как стиль для этих элементов обрабатывается ОС пользователя. MSDN ответит на ваш вопрос здесь :

За исключением background-color и color, параметры стиля, применяемые к объекту стиля для элемента опции, игнорируются.

29
задан simeg 18 August 2016 в 16:56
поделиться

4 ответа

кроме инкапсуляции переменной в строку, альтернативой является jquery для получения прибыли:

вообще плохая идея смешивать язык шаблонов с javascript. Альтернативой может быть использование html в качестве прокси - сохраните имя в таком элементе, как

<meta id="my-data" data-name="{{name}}" data-other="{{other}}">

, затем в javascript сделайте

var djangoData = $('#my-data').data();

, что имеет преимущество в:

  • javascript больше не привязан к странице .html.
  • jquery принудительно приводит данные
.
43
ответ дан rikAtee 18 August 2016 в 16:56
поделиться

Я знаю, что это довольно старая тема, но, поскольку она привлекает множество мнений, я полагаю, что некоторые люди все еще ищут ответ.

Вот самый простой способ сделать это:

var name = {{name|tojson}};

Он «проанализирует» любое имя и отобразит его правильно: https://sopython.com/canon / 93 / рендеринг-строка-в-дзиндзя-к-JavaScript-переменного /

1
ответ дан mr_info 18 August 2016 в 16:56
поделиться

Попробуйте с кавычками:

alert("{{name}}");
49
ответ дан ndpu 18 August 2016 в 16:56
поделиться

Вот как я это сделал

Мой элемент HTML

<!--Proxy Tag for playlist data-->
<meta id="my_playlist_data" data-playlist="{{ playlist }}">

Мой элемент сценария

// use Jquery to get data from proxy Html element
var playlist_data = $('#my_playlist_data').data("playlist");

См. . data () документирование для более

1
ответ дан Suraj Nath 18 August 2016 в 16:56
поделиться
Другие вопросы по тегам:

Похожие вопросы: