Как взломать плагин автозаполнения jQuery? - PullRequest
0 голосов
/ 19 марта 2011

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

$(document).ready(function(){
     $("#search_box").autocomplete("myscript/index");
}

<input type='input' id='search_box' />

Бэкэнд-код PHP (symfony 1.4) На действии:

$s = $request->getParameter("p");
$c = new Criteria();
$c->add(DataSkillPeer::SKILLNAME, $s);
$data_array = array();
$data_skill_array = DataSkillPeer::doSelect($c);
foreach($data_skill_array as $arrays)
{
   $data_array[] = $arrays; 
}
$this->display_data = json_decode($data_array, true);

При просмотре:

<?php if(!empty($display_data)): ?>
  <?php foreach($display_data as $da): ?>
        <?php echo $da."\n"; ?>
  <?php endforeach; ?>
<?php endif; ?>

данные отправляются из файла myscript.php, и я хочу загрузить все данные, поступающие из бэкэнда, например, если я наберу j, то мой бэкэнд генерирует java, javascript, jquery, ejb. Я хочу, чтобы все эти данные отображались без фильтрации с помощью функции автозаполнения, например предложений. Есть ли способ, которым я могу взломать функцию автозаполнения, чтобы сделать это без потери эффекта пользовательского интерфейса, который она обеспечивает.

1 Ответ

0 голосов
/ 19 марта 2011

Я получил решение, не взламывая плагин автозаполнения, так как увидел, что когда я щелкнул «a» в текстовом поле, он запросил скрипт php бэкэнда и возвратил массив [«asp», «asp.net», «actionscript»]и при нажатии «s» он не запускал серверный скрипт, поскольку он брал данные из кэша.следовательно, установите свойство как {cacheLength: 0}, и оно сработало.Спасибо всем за помощь и ваше время.и специальные танки @ JohnP.

...