【问题标题】:Jquery autocomplete, right JSON Data but text field is emptyJquery自动完成,正确的JSON数据但文本字段为空
【发布时间】:2015-03-04 16:12:07
【问题描述】:

我遇到了 jquery 自动完成的问题。我有一个外部数据源(PHP)。返回的 JSON-Data 看起来正确 [{"value":"Schubert Till","label":"Schubert Till"}],但文本输入框中没有显示任何内容,建议?它以前工作过,然后我切换到响应式设计模板......但我怀疑这是否以某种方式连接。请帮忙。

HTML 部分:

    <input type="text" id="p4" name="p4" value="" /> 

外部 JavaScript:

 $( "#p4" ).autocomplete({
          source: "autocompletePartner.php",
          minLength: 2,
          select: function( a, b ) {
            $(this).val(b.item.value);
          }
      });

PHP最后一部分:

while($zeile=$st->fetch(PDO::FETCH_BOTH)) {
    $player_id = $zeile[0];
    $lastname = $zeile[2];
    $firstname = $zeile[1];

    $a_json_row[value] = $firstname.' '.$lastname;
    $a_json_row[label] = $firstname.' '.$lastname;

    array_push($a_json, $a_json_row);
  }
echo json_encode($a_json);
mylog (json_encode($a_json));
flush();

【问题讨论】:

  • 控制台有错误信息吗?也许你可以试试$("#p4").val 而不是$(this).val
  • 您使用的是来自 jQuery UI 或其他自动完成插件的autocomplete 吗?您在控制台中看到任何错误吗?
  • 如果您可以发布从 PHP 收到的示例 JSON 响应,这将有所帮助
  • 假设您正在使用 jQuery UI 的自动完成功能,那么 select 是当用户在您的建议列表中选择某个值时调用的回调。如果您需要回调来处理来自autocompletePartner.php 的服务器响应,那么我建议您使用source 的函数变体
  • 控制台中没有错误。我正在使用来自 jQueryUI 的自动完成功能。我什至没有在文本输入字段中显示建议列表,所以我认为问题不在于选择一个,问题在于显示

标签: php jquery json autocomplete


【解决方案1】:

确保您的输入元素具有 autocomplete="off"

<input type='text' class="form-control ui-autocomplete-input" autocomplete="off" id="autocomplete" />

然后使用 Jquery 作为 Arkantos 建议的上述评论。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-01
    • 2013-11-07
    • 1970-01-01
    • 2018-02-06
    • 1970-01-01
    相关资源
    最近更新 更多