Как добавить атрибут «список» в поле ввода с помощью jQuery?

Я изо всех сил пытаюсь понять следующее;

У меня есть поле формы django, скрытое в {{ field.field }}. Выводится как

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

Я могу пометить его с помощью jQuery по его идентификатору, но мне нужно добавить list = "choicelist", который соответствует

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

который я заполняю с помощью ajax-запросов. Как добавить к нему list = "choicelist"? В основном я ищу что-то вроде .addClass(), но для списка.

Любая помощь приветствуется!

вы хотите добавить список в поле ввода следующим образом: <input type = "text" name = "field-id" value = "100" list = "choicelist" id = "id_set-0-product" class = "vForeignKeyRawIdAdminField"> ?

maulik bafalipara 17.12.2020 11:12

Это точно

David Louda 17.12.2020 11:21

добавлен ответ, пожалуйста, проверьте его. как для использования идентификатора, так и для класса.

maulik bafalipara 17.12.2020 11:36
Как конвертировать HTML в PDF с помощью jsPDF
Как конвертировать HTML в PDF с помощью jsPDF
В этой статье мы рассмотрим, как конвертировать HTML в PDF с помощью jsPDF. Здесь мы узнаем, как конвертировать HTML в PDF с помощью javascript.
0
3
578
3
Перейти к ответу Данный вопрос помечен как решенный

Ответы 3

Ответ принят как подходящий

Для этого вам нужно использовать метод attr():

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

спасибо, только # в ('#id_set-0-product') отсутствовал, но это решило проблему, спасибо.

David Louda 17.12.2020 11:34

о да, извините за это, я одобрил ваше редактирование! пожалуйста!

barbaart 17.12.2020 11:42

У вас есть два варианта

Использование идентификатора (он добавит атрибут списка для определенного поля)

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

Использование класса (он добавит атрибут списка для всех доступных полей с тем же классом)

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

Вы фактически решили проблему, которая возникла сразу после этого, ха-ха, спасибо!

David Louda 17.12.2020 11:38

Используя Django, добавьте атрибут к виджету:

атрибуты

Словарь, содержащий HTML-атрибуты, которые необходимо установить в отображаемом виджете.

    >>> 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">'

Другие вопросы по теме