【问题标题】:Jquery Autocomplete unable to read Array of ObjectsJquery Autocomplete 无法读取对象数组
【发布时间】:2016-05-19 03:32:27
【问题描述】:

我正在尝试使用来自服务器的 JSON 输出作为我的自动完成功能的来源。我阅读了自动完成文档,它确实说对象数组被接受为源类型。有人可以让我知道我哪里出了问题吗?

            jq( document ).ready(function() {
            jq("body").css({overflow:'hidden'});

            jq.getJSON("<?php echo Mage::getBaseUrl() . "setsession/index/getarea"; ?>",
             function(data) {

                jq( "#autocomplete-1" ).autocomplete({
                source: data,
                select: function(event, ui) {
                    alert(ui.item.area_id);
                    jq("#splash_area").val(ui.item.area_id);
                    return false;
                }
                });
            }
            );              
            });

这是我从服务器返回的(JSON 编码):

[{"area_id":"1","area_name":"DLF Phase 1"},{"area_id":"2","area_name":"DLF Phase 2"}]

【问题讨论】:

  • 您的意思是您的自动完成下拉菜单没有显示任何内容?
  • 没错。自动完成没有显示下拉菜单。当我提供单个维度数组时,它可以完美运行。

标签: jquery-ui


【解决方案1】:

从文档中可以看出An array of objects with label and value properties: [ { label: "Choice1", value: "value1" }, ... ]

http://api.jqueryui.com/autocomplete/#option-source

您的对象不是这样定义的。因此,对于您的示例,

[{value:"1",label:"DLF Phase 1"},{value:"2",label:"DLF Phase 2"}]

【讨论】:

  • 工作。我从不怀疑他们剥夺了命名数据类型的独立性!
猜你喜欢
  • 2018-05-25
  • 1970-01-01
  • 2014-12-31
  • 2016-01-09
  • 1970-01-01
  • 2016-07-25
  • 1970-01-01
  • 2013-02-21
  • 2020-04-24
相关资源
最近更新 更多