jQuery:关于自动完成和密钥的问题

时间:2011-03-04 12:57:40

标签: jquery key jquery-autocomplete

我有一个多重选择和一个自动完成输入。每次用户在自动完成输入中插入元素时,我想在多重选择中选择相应的元素。

我有这段代码:

jQuery("#example")
.autocomplete('autocomplete', jQuery.extend({}, {
dataType: 'json',
parse: function(data) {

  var parsed = [];
  for (key in data) {

     parsed[parsed.length] = { data: [ data[key], key ], value: data[key], result: data[key] };
  }

  return parsed;

  }
}, {multiple:true}))
.result(function(event, data) {
 $("#select option[value=" + key + "]").attr("selected", true);


});

动作自动完成功能正在返回此类数据:

{"17":"element_17","18":"element_18"}

问题:即使我选择element_17,“key”(value=" + key + ")的值也始终为18。

知道我应该更改/添加什么?

此致

哈维

1 个答案:

答案 0 :(得分:0)

好的,那么结果是,您是否正在为自动完成错误地格式化数据。

您希望每个自动完成元素看起来像

{ 'key' : '17', 'value' : 'element 17' }

你需要发送一个看起来像这样的元素数组

[ { 'key' : '17', 'value' : 'element 17' },
  { 'key' : '18', 'value' : 'element 18' } ]