jQuery UI自动完成:如何发送帖子数据?

Vit*_*mar 10 jquery-ui jquery-ui-autocomplete

来自jQuery UI站点(veiw源代码):

$( "#birds" ).autocomplete({
    source: "search.php",
    minLength: 2,
    select: function( event, ui ) {
        log( ui.item ?
            "Selected: " + ui.item.value + " aka " + ui.item.id :
            "Nothing selected, input was " + this.value );
    }
});
Run Code Online (Sandbox Code Playgroud)

所以,我看有没有选择如何使Ajax请求POST数据"search.php".

但我需要这样做以从先前的输入字段发送一些过滤器(当前字段: city,previous field:country).

怎么做?

谢谢!

mat*_*att 19

尝试将源更改为使用$ .post的方法:

$("#birds").autocomplete({
  source: function (request, response) {
    $.post("search.php", request, response);
  },
  ...
Run Code Online (Sandbox Code Playgroud)


小智 6

$( "#birds" ).autocomplete({ 
source: function (request, response) {
    $.ajax({
  type: "POST",
  url:"search.php",
  data: request,
  success: response,
  dataType: 'json'
});
  }
}, {minLength: 3 });

//-------------------------
//search.php - example with request from DB

//


 $link = mysql_connect($mysql_server, $mysql_login, $mysql_password)
        or die("Could not connect: " . mysql_error());
     mysql_select_db($mysql_database) or die("Could not select database");
     mysql_set_charset('utf8'); 

$req = "SELECT mydata FROM $mysql_table WHERE mydata LIKE '".$_REQUEST['term']."%' ORDER BY mydata ASC";
$query = mysql_query($req);

while($row = mysql_fetch_array($query))
{
    $results[] = array('label' => $row['mydata']);
}


echo json_encode($results);
?>
Run Code Online (Sandbox Code Playgroud)