Автозаполнение JQuery

В Jquery, когда я выбираю совпадающую запись, я хочу, чтобы в текстовое поле помещались только числа в выбранной записи. Я хочу знать, как это сделать в автозаполнении. Например

когда я набираю 75 в текстовом поле, это дает мне результаты, как показано ниже

7510- Synaptic
7512-Allied
7513-King

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

 -- >  7513-King

7513 следует поместить в текстовое поле.


person Dead Programmer    schedule 07.02.2011    source источник


Ответы (3)


Используете ли вы автозаполнение пользовательского интерфейса jQuery? Если это так, передайте исходный массив объектов Json со свойствами метки и значения. Текст метки будет отображаться в раскрывающемся списке автозаполнения, но значение доступно в событии выбора.

var data = [
            { label: "7510-Synaptic", value: 7510 },
            { label: "7512-Allied", value: 7512 },
            { label: "7513-King", value: 7513 }
        ];

$( "#theAutocomplete" ).autocomplete({
    delay: 0,
    source: data, 
    select: function(event, ui) { 
        // selected value is at ui.item.value; 
        // label is at ui.item.label
     }
}).
person Michael Low    schedule 07.02.2011

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

parseInt('7513-King');
person yoda    schedule 07.02.2011

Это можно сделать с помощью оригинального автономного плагина автозаполнения jQuery, который все еще существует (и активно развивается):

http://code.google.com/p/jquery-autocomplete/

Вам придется использовать вариант

onItemSelect

В демо есть пример, который делает именно это (http://code.google.com/p/jquery-autocomplete/source/browse/demo/index.html).

person dyve    schedule 27.06.2011