Javascript 中的 Django 模板变量

时间:2021-03-17 11:09:27

标签: javascript django django-templates

让我们来看看字典:

mydict = {
  'color': "blue",
  'brand': "Ford",
  'year': 1969
}

我们将此字典传递给我们的模板,然后,在模板中,我们有一个选择列表,其中包含根据我们的字典键(颜色、品牌、年份)的选项。

现在,我想更改渲染模板中有关所选选项的一些文本。

所以我们有一些 Jquery 正在获取所选选项的值,如下所示:

$('#myselect').change(function() {
        var selected = $( "#myselect option:selected" ).text();
    });

现在我们有了选定的文本,我想用它作为键来显示字典中的值。 像这样

$('#myselect').change(function() {
            var selected = $( "#myselect option:selected" ).text();
            $('#mytext').text('{{ mydict.selected }}');
        });

但我想像这样混合 Django var 和 JS var 是行不通的... 知道我该怎么做吗?

1 个答案:

答案 0 :(得分:0)

根据 Martins 的评论,这是我所做的:

在模板中:

<select id="myselect">
  <option value="color">color</option>
  <option value="brand" selected="">brand</option>
  <option value="year">year</option>
</select>

{% for key,value in mydict.items %}
  <small id="{{key}}" class="messages" style="display:none;">
    {{ value }}
  </small>
{% endfor %}

然后是一些 JS:

$('#myselect').change(function() {
        var selected = $( "#myselect option:selected" ).text();
        $('.messages').hide();
        $('#' + selected).show();

    });