在Jquery中,当我选择匹配的记录时,我想只允许所选记录中的数字放在文本框中。我想知道如何在自动完成中执行此操作。例如
当我在文本框中键入75时,它会给我如下结果
7510- Synaptic
7512-Allied
7513-King
当我选择特定行时,选择值中的数字应仅放在文本框中。
-- > 7513-King
7513 应放在文本框中。
答案 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)