【问题标题】:How to create dynamic ids for tags in django templates如何为 django 模板中的标签创建动态 id
【发布时间】:2013-04-02 16:48:56
【问题描述】:

背景:我有一个动态表(因为直到运行时我才知道它的大小/元素),我正在尝试使用 javascript 函数填充文本区域。为此,我计划将文本区域的 id 以及我想要填充它的值传递到 javascript 函数中。

问题是我无法为每个文本输入字段创建动态 id 值。这就是我目前尝试这样做的方式:

   {% with "input_"|add:applicant.id as idName %}
        <input id="{{ idName }}" type="text" value="">
        <input type="button" hidden="TRUE" onclick="">
        {{ idName }}
        <script>
            putTags({{ idName }}, {{ tags }});
        </script>
   {% endwith %}

函数 putTags() 将填充文本输入的内容。不幸的是,这不起作用,因为它将每个人的 id 分配给“input_”而不附加申请人.id 的值(我已经检查过,申请人.id 每次迭代都有一个正确的 id)。难道我做错了什么?有没有更简单的方法来创建这些唯一 ID?

【问题讨论】:

    标签: javascript html django django-templates


    【解决方案1】:

    你可以试试这样的

    <input id="input_{{ applicant.id }}" type="text" value="">
    <input type="button" onclick="putTags('input_{{ applicant.id }}', {{ tags }});">
    

    【讨论】:

    • 这是我尝试的第一种方法(尽管我希望最初填充值,而不是在单击按钮时,所以我只是调用函数)。由于某种原因,它没有正确附加申请人.id。它只是使所有文本框的 id 为“input_”。
    • 那你为什么不直接做&lt;input ... value="{{ tags }}"&gt;?这听起来不像是需要不必要的 javascript...
    • 我使用函数来格式化标签。如果我只是做 value="{{ tags }}" 它看起来像这样:“[, ]” 我希望它只是说“Apple, Orange”
    • 你应该可以做到{{ tags|join:", " }}
    • 哇,你是我的英雄。谢谢!
    猜你喜欢
    • 2022-01-23
    • 1970-01-01
    • 2021-09-30
    • 1970-01-01
    • 1970-01-01
    • 2021-12-16
    • 2011-04-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多