Список автозаполнения jQuery UI автоматически не меняется - PullRequest
1 голос
/ 03 апреля 2011

Ниже приведен мой код для пользовательского интерфейса jQuery, проблема, с которой я сталкиваюсь, заключается в том, что независимо от того, что вводит пользователь, он сразу отображает все в массиве, а не только слова, близкие к входам.

основной файл:

<html>
    <head>
        <link type="text/css" href="jqui/css/ui-lightness/jquery-ui-1.8.11.custom.css" rel="stylesheet" />  
        <script type="text/javascript" src="jqui/js/jquery-1.5.1.min.js"></script>
        <script type="text/javascript" src="jqui/js/jquery-ui-1.8.11.custom.min.js"></script>

  <script type="text/javascript">
    $(document).ready(function(){
    $("#tags").autocomplete({source:"result.php"});
    });
  </script>

</head>
<body>
<div class="ui-widget">
    <label for="tags">Tags: </label>
    <input id="tags">
</div>
</body>

</html>

файл результатов

<?php
$arrResults = array('orange', 'apple', 'bannana');
// Print them out, one per line
echo json_encode($arrResults);    
?>

Ответы [ 2 ]

1 голос
/ 03 апреля 2011

Вам нужно что-то вроде этого

$req = $_GET['term']; //first get the search keyword as get method

$arrResults = array('orange', 'apple', 'bannana');

$array = array_filter($arrResults, 'mycallback');
//filter the array containing search word using call back function

function mycallback($var)
{
    global $req;
    if(preg_match('/^'.$req.'/', $var))
    {       
        return $var;
    }
}

$array1 = array();

//filter null array
foreach($array as $arr => $val)
{
        if(!empty($val))
        {
                $array1[] = $val;
        }

}

//echo out the json encoded array
echo json_encode($array1);
0 голосов
/ 03 апреля 2011
$("#tags").autocomplete({source:"result.php", dataType:"json"});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...