DevBridge JQuery Autocomplete无法在Chrome for Android中使用

时间:2017-05-13 18:35:22

标签: jquery autocomplete jquery-ui-autocomplete

我在WP插件中使用DevBridge的Autocomplete脚本。 它适用于除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();
}

1 个答案:

答案 0 :(得分:0)

删除按键事件就可以了。

$("#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;

                      });
                  }
          });