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-with-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; } }); }); function http://www.php.net/split( val ) { return val.http://www.php.net/split( /,\s*/ ); } function extractLast( term ) { return http://www.php.net/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) { http://www.php.net/die("Connection failed: " . mysqli_connect_error()); } if(http://www.php.net/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[] = http://www.php.net/array("value"=>$row['id'],"label"=>$row['name']); } http://www.php.net/echo json_encode($response); } http://www.php.net/exit;
Przenosze. Z php problem nie ma zadnego zwiazku.
Co do problemu:
to zanim wykonasz AJAX to pobierz dane z input i slij dodatkowo ajaxem
Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)