Преобразование текста в тег в Tagify

Я хотел бы знать, как можно с помощью кода преобразовать текст в тег. Предположим, у нас есть следующий текст:

[[{"value":2,"text":"Petrol Man","title":"Petrol Man","prefix":"@"}]]

как мне с помощью кода преобразовать его в классический графический дисплей tagify?

Обновлено:

Я бы преобразовал этот текст [[{"value":2,"text":"Petrol Man","title":"Petrol Man","prefix":"@"}]] в:

Можете ли вы положить треску, которую вы хотите?

Behrad Hajmiri 21.10.2022 15:37

Можете ли вы включить src= для плагина/кода tagify, который вы используете, пожалуйста? tagify SO wiki немного недостаточно детализирован, так как, вероятно, это будет общий tagify, а не какой-либо конкретный плагин, который вы используете.

freedomn-m 21.10.2022 16:07

<script src = "../tagify.js"></script> <script src = "../tagify.polyfills.min.js"></script> <link href = "../tagify.css" rel = "stylesheet" type = "text/css" />

Vito 21.10.2022 16:13

... и... откуда вы вообще скачали tagify.js? Возможно, в первых нескольких строках tagify.js есть источник

freedomn-m 21.10.2022 16:13

* Tagify (v 4.12.0) - компонент ввода тегов * By Yair Even-Or * github.com/yairEO/tagify

Vito 21.10.2022 16:14

Ваш "текст" на самом деле текст? как в var x = '[[{"value":2... }]]"`

freedomn-m 21.10.2022 16:17

да это строка

Vito 21.10.2022 16:23
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
1
7
61
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

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

С предположениями:

tagify v4.12.0 от https://github.com/yairEO/tagify

предоставленные данные представляют собой строку JSON, содержащую вложенный массив [[{..}]]

На странице tagify есть пример добавления новых тегов:

tagify.addTags(["banana", "orange", "apple"])

поэтому вам нужно преобразовать вашу json-строку в массив текстовых значений.

Используйте JSON.parse для преобразования в объект, затем data[0].map( для считывания каждого значения из внутреннего массива — поскольку внешний массив (по крайней мере, в примере) всегда является одним измерением, вам нужно data[0], чтобы добраться до внутреннего массива.

Соединить:

var tagify = new Tagify(document.getElementById("tags"));

//tagify.addTags(["banana", "orange", "apple"])

// added a second example in the inner array otherwise it's just `data[0][0].title`
var txt = '[[{"value":2,"text":"Petrol Man","title":"Petrol Man","prefix":"@"}, {"text":"Diesel Woman"}]]';
var data = JSON.parse(txt);
var newTags = data[0].map(t => t.text);

tagify.addTags(newTags);
<script src = "https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

<script src = "https://cdn.jsdelivr.net/npm/@yaireo/tagify"></script>
<script src = "https://cdn.jsdelivr.net/npm/@yaireo/tagify/dist/tagify.polyfills.min.js"></script>
<link href = "https://cdn.jsdelivr.net/npm/@yaireo/tagify/dist/tagify.css" rel = "stylesheet" type = "text/css" />

<input id='tags'>

К сожалению, плагин использует localStorage, не проверяя, доступен ли он, и SO не разрешает этого, поэтому нет рабочего фрагмента выше, но вот рабочая рабочий пример: https://jsfiddle.net/50n7ckLe/

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