Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jquery-ui/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery UI自动完成-选择值_Jquery_Jquery Ui - Fatal编程技术网

Jquery UI自动完成-选择值

Jquery UI自动完成-选择值,jquery,jquery-ui,Jquery,Jquery Ui,我有一些PHP和JQuery,它们创建了自动完成表单: <? mysql_select_db($database_database_connection, $database_connection); $query = "SELECT * FROM Device_tbl"; $result=mysql_query($query, $database_connection) or die(mysql_error()); $findrow = array(); while($row = mys

我有一些PHP和JQuery,它们创建了自动完成表单:

<?
mysql_select_db($database_database_connection, $database_connection);
$query = "SELECT * FROM Device_tbl";
$result=mysql_query($query, $database_connection) or die(mysql_error());
$findrow = array();
while($row = mysql_fetch_assoc($result)){
    $manufac = $row['Manufacturer'];
    $mod = $row['Model'];
    $string = $manufac.' '.$mod;
    $findrow[] = $string;
}

?>

<script type="text/javascript">
$(document).ready(function() {
  $("#search_input").watermark("Begin Typing to Search");

  var availableTags = <? echo json_encode($findrow);?>;
  $( "#search_input" ).autocomplete({
            source: availableTags
            });


    $("#search_input").bind("autocompleteselect", function() {
        var search_input = $(this).val();
        if (search_input =='') search_input ='*';
        var dataString = 'keyword='+search_input;

        if (search_input.length > 2 || search_input=='*') {
           $.ajax({
                type: "GET",
                url: "core/functions/searchdata.php",
                data: dataString,
                success: function(server_response) {
                    $('#searchresultdata').empty();
                    $('#searchresultdata').append(server_response);
                    $('span#category_title').html(search_input);
                }
            });
        }

        return false;
    });
    $("#search_input").trigger('keyup');
});
</script>
searchdata.php

自动完成部分工作得很好,但是我不能在所选值上运行.ajax。举个例子,如果我开始输入苹果iMac,只到了Ap。建议应该是Apple iMac,但是当我点击建议时,它会在Ap-ie上运行查询,它只会在键入的内容上运行查询,而不会在单击的内容上运行查询

当用户点击一个建议或点击回车时,我能做什么

$( "#search_input" ).autocomplete({
    source: availableTags,
    select: function(event, ui) {
        sendSelected(ui.item.value);
        }
    });

function sendSelected(_val){
    var search_input = _val;
    if (search_input =='') search_input ='*';
    var dataString = 'keyword='+search_input;

    if (search_input.length > 2 || search_input=='*') {
       $.ajax({
            type: "GET",
            url: "core/functions/searchdata.php",
            data: dataString,
            success: function(server_response) {
                $('#searchresultdata').empty();
                $('#searchresultdata').append(server_response);
                $('span#category_title').html(search_input);
            }
        });
    }
}
searchdata.php:

$splitKeyword = explode(" ", $keyword);
if(sizeof($splitKeyword)==3){
    $splitKeyword[1] = $splitKeyword[1]." ".$splitKeyword[2];
 }
$query = "SELECT Image, Manufacturer, Model FROM Device_tbl WHERE Manufacturer LIKE '%".$splitKeyword[0]."%' OR Model LIKE '%".$splitKeyword[1]."%'";
searchdata.php:

$splitKeyword = explode(" ", $keyword);
if(sizeof($splitKeyword)==3){
    $splitKeyword[1] = $splitKeyword[1]." ".$splitKeyword[2];
 }
$query = "SELECT Image, Manufacturer, Model FROM Device_tbl WHERE Manufacturer LIKE '%".$splitKeyword[0]."%' OR Model LIKE '%".$splitKeyword[1]."%'";

你能提供searchdata.php的脚本吗?你能提供searchdata.php的脚本吗!谢谢然而,我的SQL显然不起作用。在制造商或车型中寻找类似本田思域的车型。因为它找不到类似的东西,所以它什么也不返回。即使数据库中显示了制造商本田及其车型,思域:/try this:。。。例如“%$keyword.%”或…相同的问题。我认为这是因为ui.item.value是数据库中制造商和模型字段的组合。不过,我想既然我在做一个类似的查询,它还是会找到它的。”“本田思域”就像制造商“本田”……对吗?@K20GH如果你通过本田思域,你只会在本田思域之后和之前寻找char,但你会分裂them@K20GH$splitKeyword[0]将返回Honda,$splitKeyword[1]将返回Civice!谢谢然而,我的SQL显然不起作用。在制造商或车型中寻找类似本田思域的车型。因为它找不到类似的东西,所以它什么也不返回。即使数据库中显示了制造商本田及其车型,思域:/try this:。。。例如“%$keyword.%”或…相同的问题。我认为这是因为ui.item.value是数据库中制造商和模型字段的组合。不过,我想既然我在做一个类似的查询,它还是会找到它的。”“本田思域”就像制造商“本田”……对吗?@K20GH如果你通过本田思域,你只会在本田思域之后和之前寻找char,但你会分裂them@K20GH$splitKeyword[0]将返回Honda,$splitKeyword[1]将返回Civic