Как искать текст из json и отображать его в html?

Я указываю имя проекта из результата json и отображаю его на боковой панели. При нажатии на боковую панель с указанием любого имени проекта отображается его подробная информация. Теперь у меня есть поле поиска для поиска проектов и отображения сведений о проекте, а также для получения имени выбранного проекта на боковой панели.

вот код окна поиска:

   <input class = "form-control form-control-dark w-100" type = "text" id = "text" placeholder = "Search" aria-label = "Search">

вот результат json:

 "projects": [
{
"instances": null,
"name": "decodingideas",
"projectid": "decodingideas-147616",
"projectnumber": 334691107943,
"orgid": "",
"orgname": "",
"parentid": "",
"parenttype": ""
},
 {
"instances": null,
"name": "pupil-workers",
"projectid": "pupil-workers",
"projectnumber": 455648594684,
"orgid": "",
"orgname": "",
"parentid": "",
"parenttype": ""
}

Здесь я буду искать проект, имя или экземпляр и т. д.

вот код, используемый в html:

 <div class = "container-fluid">
  <div class = "row">
  <nav class = "col-md-2 d-none d-md-block bg-light sidebar">
  <div id = "projectlist" class = "sidebar-sticky">
    <ul class = "nav flex-column nav-pills">

      {{range .Projects}}
      <li class = "nav-item" >
        <a name = "{{.ProjectID}}" class = "nav-link" href = "#">

          <img class = "img-fluid" style = "width:8%" 
  src = "static/image/generic_gcp.png">
          {{.Name}}

          <div>
            <small>
            ProjectId: {{.ProjectID}}
          </small>
          </div>
        </a>
        </li>
        {{end}}

    </ul>

 <!-- Might need this seperator
    <h6 class = "sidebar-heading d-flex justify-content-between align-items- 
 center px-3 mt-4 mb-1 text-muted">
      <span>Savings Reports</span>
    </h6>
  -->
  </div>
</nav>
   <main role = "main" class = "col-md-9 ml-sm-auto col-lg-10 pt-3 px-4">
  {{range .Projects}}

  <div id = {{.ProjectID}} class = "d-none justify-content-between flex-wrap 
 flex-md-nowrap align-items-center pb-2 mb-3 border-bottom ">
    <h1 class = "h2">Project:{{.Name}}</h1>

Как можно просмотреть список для поиска и отобразить сведения о проекте и выбрать их на боковой панели имени этого проекта.

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

לבני מלכה 02.05.2018 08:03

@ לבנימלכה мне нужно и то, и другое

PvDev 02.05.2018 08:03

какие данные вы хотите отображать в автозаполнении из json ??

לבני מלכה 02.05.2018 08:05

Как вы угрожаете результатам поиска? Выбрать только лучший? Показать список результатов, а затем выбрать из него? Может быть, вы хотите показать сразу все подходящие проекты?

bitifet 02.05.2018 08:09

@ לבנימלכה имя и проект, экземпляр

PvDev 02.05.2018 08:09

@ לבנימלכה показать список результатов и выбрать из него для подробного отображения

PvDev 02.05.2018 08:10

вы можете попробовать w3schools.com/howto/howto_js_autocomplete.asp и пример w3schools.com/howto/tryit.asp?filename=tryhow_js_autocomplet‌ e

Nirali 02.05.2018 08:19

@Nirali, как сделать с локальным файлом json?

PvDev 02.05.2018 13:58
Поведение ключевого слова "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) для оценки ваших знаний,...
0
8
474
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

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

Вот автозаполнение из пользовательского интерфейса JQuery:

  $( function() {
 var projects= [
{
"instances": null,
"name": "decodingideas",
"projectid": "decodingideas-147616",
"projectnumber": 334691107943,
"orgid": "",
"orgname": "",
"parentid": "",
"parenttype": ""
},
 {
"instances": null,
"name": "pupil-workers",
"projectid": "pupil-workers",
"projectnumber": 455648594684,
"orgid": "",
"orgname": "",
"parentid": "",
"parenttype": ""
}
];
    $( "#projects" ).autocomplete({
      source: function (request, response) {
           response($.map(projects, function (value, key) {
                return {
                    label: value.name+" "+ value.projectid,
                    value: value.projectid
                }
            }));
        
    }, 
      select: function(event, ui) {
           var res= $('#projects').val(ui.item.projectid);
           }
    });
  } );
  <link rel = "stylesheet" href = "//code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css">
  <link rel = "stylesheet" href = "/resources/demos/style.css">
  <script src = "https://code.jquery.com/jquery-1.12.4.js"></script>
  <script src = "https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
 SEarch: <input id = "projects">
Если вам нужен источник с ajax:
    var url = "";//your url to json file
    source: function(request,response)  
    { 
      $.get(url, function(data)
      {         
        obj = JSON.parse(data);   //parse the data in JSON (if not already)
        response($.map(obj, function(value, key)
        {
         return {
                        label: value.name+" "+ value.projectid,
                        value: value.projectid
                    }
        }));
    }
}

как я могу показать результат без объявления проектов var из json. мое имя файла json default.json?

PvDev 02.05.2018 08:44

вы должны сделать это с помощью ajax

לבני מלכה 02.05.2018 08:45

Как загрузить локальный файл json

PvDev 02.05.2018 08:55

попробуйте написать в URL-адресе ваш файл json loction

לבני מלכה 02.05.2018 08:59

как я могу использовать этот код $ (function () {$ .ajax ({url: "/path/to/cache.json", dataType: "json", data: {term: request.term}, success: function ( data) {var cat_data = $ .map (data, function (item) {return {label: item.label, category: item.category, desc: item.desc};}); $ ("# searchfield"). catcomplete ({задержка: 0, источник: cat_data, минимальная длина: 0});}});});

PvDev 02.05.2018 12:26

Это нормально работает, но выбранный проект не отображается

PvDev 02.05.2018 13:58

см. здесь stackoverflow.com/questions/12722891/…

לבני מלכה 02.05.2018 14:01

на самом деле я никогда не делал этого раньше Это мой первый раз я сделал это Только для вас

לבני מלכה 02.05.2018 14:02

$ (function () {$ .ajax ({url: "/path/to/cache.json", dataType: "json", data: {term: request.term}, success: function (data) {var cat_data = $ .map (data, function (item) {return {label: item.label, category: item.category, desc: item.desc};}); $ ("# searchfield"). catcomplete ({delay: 0, источник: cat_data, minlength: 0});}});}); как использовать этот код

PvDev 02.05.2018 14:19

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