【问题标题】:Stumped: cannot get results to show with jQuery UI Autocomplete难过:无法使用 jQuery UI 自动完成来显示结果
【发布时间】:2011-04-03 05:04:43
【问题描述】:

我抛出了一个带有 jquery 自动完成功能的简单示例,但无法使其正常工作。我不知道出了什么问题,我的 JSON 没有错误,也没有任何问题,但它不显示结果。

这是我的代码

<div class="demo">

<div class="ui-widget">
    <label for="title">Title: </label>
    <input id="test" />
</div>


<script>
$(function() {
        $( "#test" ).autocomplete({
            source: "/searchbackend.php"
        });
});
</script>

JSON:

{"title":["Metroid: Other M"]}

【问题讨论】:

    标签: jquery json jquery-ui autocomplete


    【解决方案1】:

    来自fine manual(关于source 选项):

    使用字符串时,自动完成插件期望该字符串指向将返回 JSON 数据的 URL 资源。 [...] 数据本身可以采用与上述本地数据相同的格式。

    对于本地数据:

    本地数据可以是一个简单的字符串数组,或者它包含数组中每个项目的对象,具有标签或值属性或两者兼有。标签属性显示在建议菜单中。用户从菜单中选择某些内容后,该值将插入到输入元素中。

    因此,您的 JSON 返回应该是简单的字符串数组或对象数组,如下所示:

    [
        { label: 'Shown to humans', value: 'Value for the text input' },
         ...
    ] 
    

    【讨论】:

      【解决方案2】:

      我猜你的输出应该是这样的["HELLO","HOW","DO","YOU","DO","?"] 所以使用一维数组来输出json。

      $array = array("HELLO", "HOW", "DO", "YOU", "DO", "?");
      
      echo json_encode($array);
      

      伙计..这非常有效。

      $array = array(
                      array("label" => "HELLO", "value" => "H"), 
                      array("label" => "HOW", "value" => "H"), 
                      array("label" => "DO", "value" => "D"),
                      array("label" => "YOU", "value" => "Y"),
                      array("label" => "DO", "value" => "D"));
      
      echo json_encode($array);
      

      还可以尝试将source: "/searchbackend.php" 更改为source: "searchbackend.php"

      【讨论】:

      • 谢谢,这是问题的一部分……现在看来,除非我的 json 数组中有“值”和“标签”,否则自动完成功能将不起作用。所以我不能只使用“标题”试图找出是否有办法指定自定义参数而不是硬编辑js源。
      • @x3sphere .. 表示您正在尝试为您的自动完成显示 value-label??
      • [{"id":"1","label":"Metroid: Other M"}] 作品 [{"id":"1","title":"Metroid: Other M "}] 不是 脚本被硬编码以寻找“标签”,似乎没有办法改变它。我可以轻松地将后端更改为输出标签而不是标题,这有点烦人。
      猜你喜欢
      • 1970-01-01
      • 2023-03-05
      • 2015-08-09
      • 2011-10-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-07-18
      相关资源
      最近更新 更多