【问题标题】:DevBridge JQuery Autocomplete not working in Chrome for AndroidDevBridge JQuery 自动完成功能在 Android 版 Chrome 中不起作用
【发布时间】:2017-05-31 23:27:44
【问题描述】:

我在我的 WP 插件中使用来自 DevBridge 的自动完成脚本。 它在除 Chrome for Android 之外的所有浏览器和所有设备上都运行良好:建议列表不会出现。 我会认为我做错了什么,但我的代码在 Chrome for Windows 中工作。

还有其他人偶然发现了类似的东西吗?

代码如下:

<input type="text" name="job_search" id="job_search" class="job_search" tabindex="1" />

然后是我的 JS:

$("#job_search").keypress(function(e){      

  if (e.which !== 13) {

      $("#job_search").autocomplete({

              serviceUrl: this.href,
              type: 'POST',
              paramName: 'ac_query',
              deferRequestBy: 300,
              minChars: 3,
              onSearchComplete: function(query, suggestions){

                  },
              onSelect: function(selection){

                  $.post(this.self, {ac_selection:selection.data}).done(function(data){

                          data = JSON.parse(decodeURI(data));

                          $('#rate').prop('disabled', false);
                          $('#job_time').prop('disabled', false);
                          $('#add').prop('disabled', false);
                          $('#memo').prop('disabled', false);
                          jobNumber = data.pID;
                          jobDescription = data.description;

                      });
                  }
          });

  }

});

然后是我的php:

if( $_SERVER['REQUEST_METHOD'] == 'POST'  && isset($_POST['ac_query']) ){

$q1 = "SELECT * FROM ".$wpdb->prefix."ezts_projects 
        WHERE description LIKE '%".$_POST['ac_query']."%' 
        OR pID LIKE '%".$_POST['ac_query']."%' AND open = 1 LIMIT 5";
$result = $wpdb->get_results($q1);

$jsondata = '{ "query" : "'.$_POST['ac_query'].'", 
"suggestions": [
';
for($j=0; $j < sizeof($result); $j++) {

    $jsondata.= '{ "value" : "'.$result[$j]->pID.' - '
                    .$result[$j]->description
                    .'", "data" : "'.$result[$j]->pID.'" }';
    if( $j < (sizeof($result) - 1) )$jsondata.=",
";
}
$jsondata.='] }';

print_r($jsondata);
die();
}

【问题讨论】:

    标签: jquery autocomplete jquery-ui-autocomplete


    【解决方案1】:

    删除按键事件就可以了。

    $("#job_search").autocomplete({
    
                  serviceUrl: this.href,
                  type: 'POST',
                  paramName: 'ac_query',
                  deferRequestBy: 300,
                  minChars: 3,
                  onSearchComplete: function(query, suggestions){
    
                      },
                  onSelect: function(selection){
    
                      $.post(this.self, {ac_selection:selection.data}).done(function(data){
    
                              data = JSON.parse(decodeURI(data));
    
                              $('#rate').prop('disabled', false);
                              $('#job_time').prop('disabled', false);
                              $('#add').prop('disabled', false);
                              $('#memo').prop('disabled', false);
                              jobNumber = data.pID;
                              jobDescription = data.description;
    
                          });
                      }
              });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-01-16
      • 2016-05-03
      • 1970-01-01
      • 2015-08-11
      • 1970-01-01
      • 1970-01-01
      • 2020-10-26
      相关资源
      最近更新 更多