Легкий ввод автозаполнения

Я надеюсь, что смогу получить помощь по работе с автозаполнением jquery easy. Он работает нормально, но я не могу включить ключевое событие (я бы хотел, чтобы мы перенаправлялись на правильную ссылку при нажатии клавиши Enter). Я хочу использовать onChooseEvent, но не знаю, как правильно его использовать.

Мой код:

<script>
  // http://easyautocomplete.com/guide#sec-template-links
  $(function() {
    var options = {
      data: [
          {"text": "Amazon", "website-link": "https://www.babelway.com/technology/amazon-mws/"},
          {"text": "AS2", "website-link": "https://www.babelway.com/technology/as2/"},
          {"text": "CSV", "website-link": "https://www.babelway.com/product-tour/csv-erp/"},
          {"text": "Dropbox", "website-link": "https://www.babelway.com/technology/b2b-integration-dropbox/"},
          {"text": "Edifact", "website-link": "https://www.babelway.com/technology/edifact/"},
          {"text": "Email", "website-link": "https://www.babelway.com/technology/b2b-integration-email/"},
          {"text": "Excel", "website-link": "https://www.babelway.com/technology/excel-erp/"},
          {"text": "Flat File", "website-link": "https://www.babelway.com/technology/flat-file/"},
          {"text": "FTP", "website-link": "https://www.babelway.com/technology/b2b-integration-ftp/"},
          {"text": "HTTP", "website-link": "https://www.babelway.com/technology/b2b-integration-http/"},
          {"text": "Idoc", "website-link": "https://www.babelway.com/technology/sap-idoc/"},
          {"text": "Json", "website-link": "https://www.babelway.com/technology/b2b-integration-json/"},
          {"text": "OFTP", "website-link": "https://www.babelway.com/technology/oftp/"},
          {"text": "Peppol", "website-link": "https://www.babelway.com/technology/peppol/"},
          {"text": "Rosettanet", "website-link": "https://www.babelway.com/technology/rosettanet/"},
          {"text": "SAP", "website-link": "https://www.babelway.com/technology/sap-edi/"},
          {"text": "SFTP", "website-link": "https://www.babelway.com/technology/b2b-integration-sftp/"},
          {"text": "Tradacoms", "website-link": "https://www.babelway.com/technology/Tradacoms/"},
          {"text": "UBL", "website-link": "https://www.babelway.com/technology/ubl/"},
          {"text": "VAN", "website-link": "https://www.babelway.com/technology/van/"},
          {"text": "X12", "website-link": "https://www.babelway.com/technology/x12/"},
          {"text": "X400", "website-link": "https://www.babelway.com/technology/x400/"},
          {"text": "XML", "website-link": "https://www.babelway.com/technology/xml-edi/"}
      ],


      getValue: "text",

      template: {
          type: "links",
          fields: {
              link: "website-link"
          }
      },

      list: {
          showAnimation: {
            type: "fade", //normal|slide|fade
            time: 400,
            callback: function() {}
          },

          hideAnimation: {
            type: "slide", //normal|slide|fade
            time: 400,
            callback: function() {}
          },

          match: {
            enabled: true
          },

          onChooseEvent: function() {

          }
      }
    };


    $("#template-links").easyAutocomplete(options);

  });
</script>

Спасибо за помощь :)

0
0
906
2

Ответы 2

Попробуйте с

https://jqueryui.com/autocomplete/

Это намного проще в использовании.

Добавьте эти две строки в свой метод onChooseEvent. Например:

onChooseEvent: function() {
   let selected = $("#template-links").getSelectedItemData();
   location.replace(selected["website-link"]);
}
  • При выборе и нажатии клавиши ENTER метод getSelectedItemData() вернет объект данных выбранного text, что-то вроде этого {text: "Amazon", website-link: "https://www.babelway.com/technology/amazon-mws/"} для Amazon.

  • selected["website-link"] вернет значение website-link (https://www.babelway.com/technology/amazon-mws/ в приведенном выше случае) вызвав метод location.replace() по ссылке, вы сможете выполнить перенаправление.

Надеюсь, это поможет. Спасибо.

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