如何使用 jQuery 将 'list' 属性添加到输入字段?

How do I add 'list' attribute to an input field using jQuery?

我正在努力弄清楚以下内容;

我在 {{ field.field }} 中隐藏了一个 Django 表单域。它呈现为

<input type="text" name="field-id" value="100" id="id_set-0-product" class="vForeignKeyRawIdAdminField">

我可以通过它的 id 使用 jQuery 来标记它,但我需要添加一个 list = "choicelist" 对应于

<datalist id="choicelist" style="text-align: center">
                            </datalist>

我使用 ajax 请求填充。如何向其中添加 list = "choicelist"?我基本上是在寻找类似 .addClass() 的东西,但要寻找一个列表。

如有任何帮助,我们将不胜感激!

为此您必须使用 attr() 方法:

 $('#id_set-0-product').attr('list', 'choicelist')

你有两个选择

使用 ID(它将为特定字段添加列表属性)

  $('#id_set-0-product').attr('list', 'choicelist')

使用Class(它将为具有相同class的所有可用字段添加列表属性)

$('.vForeignKeyRawIdAdminField').attr('list', 'choicelist')

使用 Django,add the attribute to the widget

attrs

A dictionary containing HTML attributes to be set on the rendered widget.

    >>> from django import forms
    >>> name = forms.TextInput(attrs={'size': 10, 'title': 'Your name'})
    >>> name.render('name', 'A name')
    '<input title="Your name" type="text" name="name" value="A name" size="10">'