Nano Hash - криптовалюты, майнинг, программирование

Автозаполнение jquery отображает выходную строку

Я хочу, чтобы скрипт отображал каждый элемент в списке значений из строки набора с разделителями-запятыми.

бывший. "один два три четыре"

В раскрывающемся списке автозаполнения должно отображаться:

один два три четыре

Однако текущий код показывает список только одного символа. Должен быть простой способ разделить этот список и отобразить слово вместо char. Мой javascript немного ограничен, если кто-то может понять это для меня, я был бы признателен. Спасибо. Я искал вокруг и знаю, что вы должны иметь возможность переопределить функцию синтаксического анализа, но это должно быть проще. Кроме того, я использую веб-сервис для возврата строки и может быть ограничен чем угодно, но для этого нужно показать слово.

Если кто-нибудь знает ответ, я был бы признателен ... спасибо

       $("#CustomerID").autocomplete({
            source: function(request, response) {
               $.ajax({
                type: "POST",
                url: "/customer/search.asmx/findvalue",
                dataType: "json",
                data: {
                    term: request.term
                },
                error: function(xhr, textStatus, errorThrown) {
                    alert('Error: ' + xhr.responseText);
                    },
                success: function(data) {
                    response($.map(data, function(item) {
                        return {
                            label: item,
                            value: item
                        }
                    }));
                }
            });
        },
        minLength: 2,
        select: function(event, ui) {
            alert('Select');
        }
    });

РЕДАКТИРОВАТЬ----------------------

Спасибо предыдущему автору за помощь в ответах.

Вроде нюансы форматирования что ли.

Это работает:

success: function (data) {
    response($.map(data, function (item) {
        return item.split(",");
    }));   
},

Использование этого, кажется, просто выдает ошибку или ничего не делает:

        success: function(data) {
            response(data.split(","));
        }

Я даже пробовал это, он проходит, но не приводит к выпадающему меню:

success: function (data) {
    response($.map(data, function (item) {
        response(item.split(","));
    }));   
},

Кажется, что вышеприведенное работает и отображает то, что я хочу, но не уверен, что это эффективно. Если кто-то хочет объяснить, почему? Не уверен, почему в некоторых случаях вам понадобится ответ() и/или возврат, чтобы автозаполнение работало....


  • Я тестировал это с помощью Chrome, и выше показано правильное отфильтрованное раскрывающееся меню; однако с IE, похоже, ошибка. Я теперь сбит с толку относительно решения??? 22.10.2011
  • Это исправит мою проблему, если вы поместите ее сверху перед вызовом ajax: jQuery.support.cors = true; Благодаря этому сообщению: stackoverflow.com/questions/5241088/ 22.10.2011
  • Я действительно думаю, что простое выполнение response(data.split(",")); должно сработать. Предполагается, что ваши данные имеют формат "one,two,three,four,five". Какую именно ошибку вы видите? 24.10.2011
  • TypeError: объект #‹Object› не имеет метода 'split' [server/_layouts /sites/javascripts/AutoComplete.js:24]/n Я рассмотрел это подробнее: данные — это объект, если я использую response(data.d.split()); //оно работает 24.10.2011

Ответы:


1

Попробуйте использовать .split(), чтобы разбить строку на массив строк ( в качестве источника для виджета автозаполнения требуется массив).

$("#CustomerID").autocomplete({
    source: function(request, response) {
       $.ajax({
            type: "POST",
            url: "/customer/search.asmx/findvalue",
            dataType: "json",
            data: {
                term: request.term
            },
            error: function(xhr, textStatus, errorThrown) {
                alert('Error: ' + xhr.responseText);
                },
            success: function(data) {
                response(data.split(","));
            }
        });
    },
    minLength: 2,
    select: function(event, ui) {
        alert('Select');
    }
});
21.10.2011
  • Необходимо использовать ответ (data.d.split (,)); //= разочарование :-) 24.10.2011
  • @wirble: Ааа, хорошо. Рад, что ты разобрался :) 24.10.2011
  • Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

    Как написать эффективное резюме
    Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

    Как я автоматизирую тестирование с помощью Jest
    Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

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

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..