Setzen Sie die option verfügbar für wählen Sie basierend auf einer anderen select-php
Kontinent Tisch
- ASIEN
- SÜDAMERIKA
Land Tabelle
- Japan
- China
- Brasilien
- Peru
Dies ist die Daten in meiner Tabelle und ich bekomme alle Daten von Kontinent Tisch und Land Tabelle wie diese
<select name="continent" class='required InputBox'>
<?php echo "<option value=''></option>";
foreach (Contintent() as $value) {
echo "<option id='" . $value[ 'sysid'] . "' value='" . $value[ 'name'] . "'>" . $value[ 'name'] . "</option>"; } ?>
</select>
Dies ist für das Land
<select name="country" class='required InputBox'>
<?php echo "<option value=''></option>";
foreach (Country() as $value) {
echo "<option id='" . $value[ 'sysid'] . "' value='" . $value[ 'name'] . "'>" . $value[ 'name'] . "</option>"; } ?>
</select>
Möchte ich wissen, wie man es in einer Weise, dass, wenn ich wählen Sie den Kontinent zum Beispiel Asien die option für die county wird das Land in Asien nur auf der japan und china. Ich habe auch noch eine Tabelle, nachdem diese die Stadt, aber wenn ich die Logik hier kann ich es anwenden zu Stadt. Jede Idee wird geschätzt
"UPDATE"
Etwas gefunden hier
Eine, die ich bin nicht vertraut mit der ajax kann jemand versuchen zu erklären, wie es funktioniert möchte ich wissen, wie kann ich übergeben Sie die id der Auswahl aus der javascript-snippet, um meine php-Funktion Seite hier ist das snippet..
$('.continent').change(function() {
var id = $(this).find(':selected')[0].id;
//alert(id);
$.ajax({
type:'POST',
url:'../include/functions.php',
data:{'id':id},
success:function(data){
//the next thing you want to do
console.log(data);
alert(id);
}
});
});
in meiner Funktion die php
function Country(){
if(isset($_POST['id'])){
echo $_POST['id'];
}
}
Das problem ist der Wert von id wird nicht übergeben, wie übertrage ich es auf die function.php ich habe eine Art aus der Idee hier. Tut es geschah in success:function(data){
was Tue ich als Nächstes?
FYI
Die Warnung ist ok, bekommt es die id des Kontinents schon es ist nur nicht an die function.php
und Konsole.log schreibt nichts
und wenn ich die url zur Startseite der Seite, wo der wählen Sie in der Konsole.log gibt die Haupt-Seite code.
gibt es keine andere Möglichkeit, javascript zu verwenden?ich bin nicht wirklich gut mit java-script
Wenn Sie filtern möchten, die on-the-fly, Sie haben keine andere option. Oder Sie brauchen, um mehrere Seiten mit nur einer select-box auf. Die Seite senden und auf der nächsten Seite können Sie das Land (und gefiltert in PHP). Werden Sie sich bewusst, dass dies nicht gut für Ihre Benutzer (die Art der Arbeit ist wirklich schlecht für die user experience).
können Sie geben Beispiel, dem ich Folgen kann?
InformationsquelleAutor Brownman Revival | 2015-01-16
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wie es gesagt wurde, können Sie mithilfe von ajax.
Es ist eine statische nicht-ajax-Weg, es zu tun, aber auf diese Weise ist es auf lange Sicht besser.
Im Grunde, was Sie tun mit, jQuery ist zu hören, für eine änderung der Kontinent wählen Sie das Feld, und, wenn eine änderung passiert, Sie machen eine Anfrage an den server mit der Frage: "geben Sie mir alle Länder in diesem Kontinent". Sollten Sie eine Datenbank für diese oder ordnen Sie diese in statische Objekte nur um es zu testen.
Wäre dies natürlich machen, fügen Sie die
countries_container
im HTML-wie auch im inneren Sie machen würde dieselect
:Nun in die eigentliche PHP-code der server-Seite (getCountries) könnte man etwas machen wie:
Diesem code können die meisten trotzig verbessert werden, aber ich habe versucht zu erklären, es in einer verständlichen Art und Weise.
Außerdem sollten Sie überprüfen:
Jquery ajax füllen dropdown mit json-response-Daten
Demo der verlinkten drop-down-Liste durch Verwendung von Ajax & PHP
Halten auf den Geist, das waren die ersten Ergebnisse einer google-Suche also, das nächste mal, versuchen Suche stack overflow selbst zu vermeiden Sie doppelte Fragen.
InformationsquelleAutor Silver