【问题标题】:Assign results of JSON to array in jQuery将 JSON 的结果分配给 jQuery 中的数组
【发布时间】:2013-12-02 12:12:15
【问题描述】:

我想获取我的$.getJSON 的结果并放置 JSON 数据,特别是设施。 FacilityName,作为数组 availableTags 的值。我尝试执行一个函数调用,您可以在其中看到 // TODO: 但我没有解决这个问题。我相信这对您的 jQuery 专家来说很容易!我确实看到了在我的页面上显示在<div id="info"></div> 标记中的设施,正如我所期望的那样。

<script type="text/javascript">

$(function () {
    $('#datePicker').datepicker();
});

var names = [];

$.getJSON('FacilitiesAsync','sourceDb=myDb',processFacilities);
function processFacilities(data) {
    $.each(data, function (facilities, facility) {
        names += facility.FacilityName;
    }); // end of each

    alert(names);

    $("#tags").autocomplete("source", names);
};

$(function () {
    $("#tags").focusout(function () {
        $.ajax({
            beforeSend: function() {
                alert("Testing");
            },
            complete: function () {
                alert("Done!");
            }
        });
    });
});

</script>

【问题讨论】:

标签: jquery arrays json autocomplete


【解决方案1】:

您的 TODO 块包含内部自调用匿名函数,可能它在您的 getJSON 执行之前执行,因此在执行 TODO 块时没有 json 数据。尝试在getJSON 函数之后访问数据,可能在回调中或在getJSONdone 内。

【讨论】:

  • 是的,我同意。如何调用回调函数来加载自动完成的数据?所以页面加载,这个 JSON 数据在后台通过 ajax 调用返回。一旦我拥有所有数据,它将在自动完成输入控件中可用
  • 另一个帮助我的用户发布的帖子出了点问题
  • 我得到了我一直有的结果。我想在自动完成中看到它们。还是不行。
  • 您是否使用 jQuery UI 进行自动完成?
  • 但是您在问题中没有提到这一点,这就是我问的原因,因此请参考link,看来您的autocomplete 有语法错误。并尝试使用原始数据检查它是否有效
猜你喜欢
  • 1970-01-01
  • 2017-07-06
  • 1970-01-01
  • 1970-01-01
  • 2016-03-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多