sql >> Databasteknik >  >> RDS >> Mysql

2 inmatningsrutor för autoslutförande/förslag med jQuery eller Ajax med andra ruta baserat på första val med flera objekt

Här är en mycket enkel procedur. Jag ska bara visa huvudskelettet. Att lägga till flash-meat kommer att vara på din sida.

Anta att vi har två vid val av händelse.

Här kommer javascript-delen (ajax.php)

<script type="text/javascript">
            $(function(){                    
                $('#parent').change(function(){ //on change event
                var parentVal = $('#parent').val(); //<----- get the value from the parent select
                $.ajax({
                    url     : 'process.php', //the url you are sending datas to which will again send the result
                    type    : 'GET', //type of request, GET or POST
                    data    : { parentValue: parentVal}, //Data you are sending
                    success : function(data){$('#child').html(data)}, // On success, it will populate the 2nd select
                    error   : function(){alert('an error has occured')} //error message
                })
            })

            })
    </script>

Detta kommer att skicka begäran till process.php

Nu kommer process.php

Här behöver vi data för att fylla i den andra ?

Du måste skriva ut något så här:

    <option value="11">value11</option>
    <option value="12">value12</option>
    <option value="13">value13</option>
    <option value="14">value14</option>

Värde och texten inuti fyller upp med dina behov.

Eftersom det kommer från databasen:

  • Du kan hämta det överordnade värdet i process.php med $_GET['parentValue']
  • Med det värdet, fråga databasen
  • Från resultatet som returneras från databasen, använd sedan en loop medan , foreach eller för (beroende på hur du hämtar den), gör .
  • du är klar!

För multival

för att göra livet lite enklare kan du använda chosen multiselect

Ett råd

mysql_* är utfasad. använd PDO istället. Här är en länk till en handledning




  1. IDEF1X-notation

  2. CREATE TABLE IF NOT EXISTS misslyckas med tabellen existerar redan

  3. Ändrar Mysql Table-kolumnen för att vara skiftlägeskänslig

  4. MySQL-fråga för att räkna unika domäner från e-postadressfältet