Chcę umieścić w formularzu pole input z 'autocomplete' tak aby przy wpisaniu dowolnych pierwszych liter słowa pokazywało podpowiedzi. I to działa. Chcę jednak dodać drugie pole typu select które byłoby zależne od pierwszego pola input. Jeśli np w pierwszym wybiorę wartość 'BMW' to w drugim polu select powinna pojawić się lista konkretnych modeli. Od dwóch dni szukam jakiegoś rozwiązania. Działa tylko samo input z autocomplete lub znalazłem gotowce gdzie jedno pole jest zależne od drugiego ale obydwa pola są typu select a ja pierwsze mam input. Wszystkie wartości pobierane są z bazy danych. Mój obecny kod na podstawie tego rozwiązania
http://makitweb.com/jquery-ui-autocomplete...h-php-and-ajax/
<!-- Script -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<!-- jQuery UI -->
<link rel="stylesheet" href="https://ajax.googleapis.com/ajax/libs/jqueryui/1.12.1/themes/smoothness/jquery-ui.css">
<script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min.js"></script>
// jakiś kod
<tr>
<td>nazwa</td>
<td><input type='text' id='autocomplete-custom1' ></td>
</tr>
<tr>
<td>Id</td>
<td><input type='text' name="selectcustom1_id" id='selectcustom1_id' /></td>
</tr>
// jakiś kod
<script type='text/javascript' >
$( function() {
$( "#autocomplete-custom1" ).autocomplete({
minLength: 2,
source: function( request, response ) {
$.ajax({
url: "test.php",
type: 'post',
dataType: "json",
data: {
search: request.term
},
success: function( data ) {
response( data );
}
});
},
select: function (event, ui) {
$('#autocomplete-custom1').val(ui.item.label); // display the selected text
$('#selectcustom1_id').val(ui.item.value); // save selected id to input
return false;
}
});
});
return val
.split( /,\s
*/ ); }
function extractLast( term ) {
return split( term
).pop
(); }
</script>
$host = "localhost"; /* Host name */
$user = "root"; /* User */
$password = ""; /* Password */
$dbname = "strona1"; /* Database name */
// Create connection
$con = mysqli_connect($host, $user, $password,$dbname);
// Check connection
if (!$con) {
die("Connection failed: " . mysqli_connect_error
()); }
if(isset($_POST['search'])){ $search = $_POST['search'];
$query = "SELECT * FROM test WHERE name like'%".$search."%'";
$result = mysqli_query($con,$query);
while($row = mysqli_fetch_array($result) ){
$response[] = array("value"=>$row['id'],"label"=>$row['name']); }
echo json_encode
($response); }
I to działa, ale chcę drugie pole select zależne od wartości w pierwszym polu. Może jakieś linki które mi pomogą zrozumieć jak to stworzyć ?