JQuery自动完成

时间:2011-02-07 10:11:00

标签: jquery jquery-autocomplete

在Jquery中,当我选择匹配的记录时,我想只允许所选记录中的数字放在文本框中。我想知道如何在自动完成中执行此操作。例如

当我在文本框中键入75时,它会给我如下结果

7510- Synaptic
7512-Allied
7513-King

当我选择特定行时,选择值中的数字应仅放在文本框中。

 -- >  7513-King

7513 应放在文本框中。

3 个答案:

答案 0 :(得分:4)

您使用的是jQuery UI自动完成吗?如果是这样,请传入一个带有label和value属性的初始Json对象数组。标签文本将显示在自动完成下拉列表中,但该值在select事件中可用。

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
     }
}).

答案 1 :(得分:0)

这应该这样做,虽然正则表达式也很有用,也许更准确。

parseInt('7513-King');

答案 2 :(得分:0)

这可以通过原始的独立jQuery自动完成插件来完成,该插件仍在(并积极开发):

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

您必须使用

选项
onItemSelect

有一个示例可以在演示中执行此操作(http://code.google.com/p/jquery-autocomplete/source/browse/demo/index.html)