Задать вопрос
@lid2pro

Скрытое поле JQuery Autocomplete?

Добрый день, помогите пожалуйста. Есть код, который делает автозаполнение, при вводе названия тега в input с id = tag.
index.php
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Auto Complete Input box</title>
<link rel="stylesheet" type="text/css" href="jquery.autocomplete.css" />
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="jquery.autocomplete.js"></script>
<script>
 $(document).ready(function(){
  $("#tag").autocomplete("autocomplete.php", {
        selectFirst: true
  });
 });
</script>
</head>
<body>
<label>Тег:</label>
<input type="hidden" value="0" name="id_tag" class="auto-select-id" id="id_tag">
<input name="tag" type="text" id="tag" size="20"/>
</body>
</html>


autocomplete.php
<?php
 $q=$_GET['q'];
 $my_data=mysql_real_escape_string($q);
 $mysqli=mysqli_connect('localhost','username','password','databasename') or die("Database Error");
 $sql="SELECT id, name FROM tag WHERE name LIKE '%$my_data%' ORDER BY name";
 $result = mysqli_query($mysqli,$sql) or die(mysqli_error());

 if($result)
 {
  while($row=mysqli_fetch_array($result))
  {
   echo $row['name']."\n";
  }
 }
?>


Нужно чтоб при выборе тега, его id попадал в скрытое поле id_tag. Как правильно вывести id в autocomplete.php и передать его в скрытое поле посредством js?
  • Вопрос задан
  • 450 просмотров
Подписаться 1 Оценить Комментировать
Решения вопроса 1
@oleg_krechetov
как то так

<?php
$q=filter_input(INPUT_GET,'g');
$my_data=mysql_real_escape_string($q);
$mysqli=mysqli_connect('localhost','username','password','databasename') or die("Database Error");
$sql="SELECT id, name FROM tag WHERE name LIKE '%$my_data%' ORDER BY name";
$result = mysqli_query($mysqli,$sql) or die(mysqli_error());

if($result)
{
$i = 0;
$output = '[';

while($row=mysqli_fetch_array($result))
{
$i++;
if($i == 1) {
$output .= '{ "id": "'.$row['name'].'", "label": "'.$row['name'].'", "value": "'.$row['name'].'"}';
} else {
$output .= ',{ "id": "'.$row['name'].'", "label": "'.$row['name'].'", "value": "'.$row['name'].'"}';
}
}
$output .= ']';
}
echo $output;
?>

Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы