【问题标题】:jQuery: question about autocomplete and keysjQuery:关于自动完成和键的问题
【发布时间】:2011-03-04 12:57:39
【问题描述】:

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

我有这个代码:

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"}

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

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

问候

贾维

【问题讨论】:

    标签: jquery key jquery-autocomplete


    【解决方案1】:

    好的,这是怎么回事,您的数据格式不正确,无法自动完成。

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

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

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

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

    【讨论】:

    • 你的意思是 { 'key' : '17', 'value' : 'element 17' }, { 'key' : '18', 'value' : 'element 18' } (没有“[”和“]”)?
    • 不,我的意思是使用 [],这就是数组在 JSON 中实现的方式
    • 我现在在 Firebug 响应选项卡中与您所说的完全一致,在 JSON 选项卡中我有这个:0 Object {key="17", value="element 17"} key "17" value “元素 17”1 对象 {key="18", value="element 18"} 键“18”值“元素 18”。但是当我写“el”(“element”)时,没有出现“element 18”也没有出现“element 17”..
    猜你喜欢
    • 2014-08-31
    • 1970-01-01
    • 1970-01-01
    • 2011-03-18
    • 2011-09-12
    • 2010-12-04
    • 2011-08-08
    • 2013-01-22
    • 2016-05-31
    相关资源
    最近更新 更多