Я осуществляю поиск в режиме реального времени, используя html, введите "search", и под ним должен быть показан результат, чтобы пользователь мог выбрать правильное имя. как только клиент выбирает имя, он присваивает идентификатор выбранного имени другому скрытому вводу «id». ниже приведены данные моего кода:
index. php
<?php
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>PHP Live MySQL Database Search</title>
<script src="https://code.jquery.com/jquery-1.12.4.min.js"></script>
<script>
$(document).ready(function(){
$("#search").keyup(function(){
var txt = $(this).val();
var resultDropdown = $(this).siblings(".result");
var personname = "";
var personID = "";
if (txt !='')
{
$.ajax
(
{
type:"post", //submit method
url: "search.php", //url to sumitted data To
data: {name : txt}, //Data to be submitted
cache: false,
dataType: 'json',
//action on successful post request
success: function(data)
{
//process JSON
$.each(data.names, function(idx, name){
var person = "<p>" + name.name +"</p>";
resultDropdown.html(person);
});
},
}
)
}
else
{
resultDropdown.empty();
}
});
// Set search input value on click of result item
});
</script>
</head>
<body>
<form method="post" action="result.php">
<div class="search-box">
<input type="text" id="search" autocomplete="off" name="spousename" placeholder="search spouse" />
<input type="hidden" id="id" autocomplete="off" name="spouseid" placeholder="search spouse" />
<input class="w3-button w3-block w3-green w3-section w3-padding" type="submit" name="access"><b>Login</b></button>
<div class="result"></div>
</div>
</form>
</body>
</html>
возвращенные данные из поиска. php
{"names":[{"name":" xxxxxx","id":3},{"name":"yyyy","id":6},{"name":"zzzz","id":5}]}
Проблемы, с которыми я сталкиваюсь: 1- resultDropdown . html (персона): показывать только последний элемент в json
2 - как назначить идентификатор при нажатии